我想将n
关联对象的数量设置为 Swift 中的对象
我的理解是UnsafeRawPointer
参考的通常模式是这样的......
static var reference = "someRef"
public func add(to myObject: AnyObject) {
let adding = ThingToAdd()
objc_setAssociatedObject(myObject, &reference, adding, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
但这不适用于n
调用次数add(to:)
同样,如果我每次只调用一次下面的代码,它就可以正常工作myObject
。但是,如果我以相同的方式添加另一个关联对象......它将第一个替换ThingToAdd
为第二个。构建一个唯一的字符串内联不起作用。在模拟器上很好,但在设备上却不行。
public func add(to myObject: AnyObject) {
let adding = ThingToAdd()
var reference = "objectref\(UUID().uuidString)".replacingOccurrences(of: "-", with: "")
objc_setAssociatedObject(myObject, reference, adding, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
}
我知道这是不正确的,但是我不知道如何创建n
number ofUnsafeRawPointers
以存储具有唯一引用的关联对象。
任何帮助/解释将不胜感激。