0

我打算添加到iVars一个类别中objc_setAssociatedObject()。但是,我不确定何时打电话objc_removeAssociatedObjects()摆脱它们。

类别有没有办法知道使用它的对象何时存在de-allocated

4

1 回答 1

2

如果您设置与

objc_setAssociatedObject(self, &key, otherObject, OBJC_ASSOCIATION_RETAIN);
// or OBJC_ASSOCIATION_RETAIN_NONATOMIC

然后在被otherObject释放时自动self释放。(至少如果您使用 ARC,但我认为手动引用计数也是正确的。)

因此,您不必objc_removeAssociatedObjects()显式调用,除非您想在释放主对象之前摆脱添加的对象。

于 2013-04-09T09:45:01.423 回答