繁体   English   中英

使用objc_setAssociatedObject将ivars添加到类别

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM