当有些代码是这样的时候:
objc_setAssociatedObject (
obj,
&key,
val,
OBJC_ASSOCIATION_RETAIN
);
需要打电话给相关人员吗
objc_setAssociatedObject (
obj,
&key,
nil,
OBJC_ASSOCIATION_RETAIN
);
释放保留价值? Objective-C 运行时是否自动释放关联引用dealloc
或某处?
当父对象被释放时,关联的对象将被释放。查看文档here https://web.archive.org/web/20120818164935/http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/Chapters/ocAssociativeReferences.html,特别是这个例子:
在点 1 处,字符串overview
仍然有效,因为OBJC_ASSOCIATION_RETAIN
策略指定数组保留关联的对象。然而,当数组被释放时(在第 2 点),overview
被释放,因此在这种情况下也被释放。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)