![](/img/trans.png)
[英]objc_setAssociatedObject in a category sets for all subclasses
[英]Adding ivars to a Category with objc_setAssociatedObject
我打算使用objc_setAssociatedObject()
将iVars
添加到类别。 但是,我不确定何时调用objc_removeAssociatedObjects()
来摆脱它们。
有没有一种方法类别可以知道何时使用它的对象已被de-allocated
?
如果您设置关联
objc_setAssociatedObject(self, &key, otherObject, OBJC_ASSOCIATION_RETAIN);
// or OBJC_ASSOCIATION_RETAIN_NONATOMIC
然后,当取消分配self
时,会自动释放otherObject
。 (至少如果你使用ARC,但我认为手动引用计数也是正确的。)
因此,您不必显式调用objc_removeAssociatedObjects()
,除非您想在释放主对象之前删除添加的对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.