【问题标题】:How to add object to an NSPointerArray?如何将对象添加到 NSPointerArray?
【发布时间】:2015-07-02 17:32:57
【问题描述】:

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

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

也试过了:

objectWithReloadFRC.addPointer(UnsafePointer(self)

【问题讨论】:

    标签: ios swift nspointerarray


    【解决方案1】:

    您可以通过以下方式获取指向用于对象的存储空间的指针 unsafeAddressOf()。由于addPointer() 需要一个可变 指针, 需要另一个转换:

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

    斯威夫特 3:

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

    【讨论】:

      猜你喜欢
      • 2014-09-14
      • 2023-01-19
      • 1970-01-01
      • 2018-10-06
      • 2012-01-09
      • 2017-05-03
      • 1970-01-01
      • 2014-08-31
      • 2021-05-26
      相关资源
      最近更新 更多