如何将对象添加到 NSPointerArray?

How to add object to an NSPointerArray?

我想在 NSPointerArray 中存储弱引用,但出现错误:

public var objectWithReloadFRC = NSPointerArray(options: NSPointerFunctionsWeakMemory)
objectWithReloadFRC.addPointer(self) //self is an UIViewController subclass

也试过这个:

objectWithReloadFRC.addPointer(UnsafePointer(self)

您可以获得指向用于对象的存储的指针 unsafeAddressOf()。由于 addPointer() 需要一个 mutable 指针, 需要另一个转换:

objectWithReloadFRC.addPointer(UnsafeMutablePointer(unsafeAddressOf(self)))

Swift 3:

var objectWithReloadFRC = NSPointerArray(options: .weakMemory)
objectWithReloadFRC.addPointer(Unmanaged.passUnretained(self).toOpaque())