Objective-C运行时是否会为用户保留关联引用?

问题描述

| 当某些代码是这样的:
objc_setAssociatedobject (
  obj,&key,val,OBJC_ASSOCIATION_RETAIN
);
我需要打相关电话吗
objc_setAssociatedobject (
  obj,nil,OBJC_ASSOCIATION_RETAIN
);
释放保留的价值? Objective-C运行时是否会自动释放
dealloc
或其他地方的关联引用?     

解决方法

当父对象被释放时,关联的对象将被释放。请参阅此处的文档,特别是此示例:   在点1,字符串
overview
仍然有效,因为
OBJC_ASSOCIATION_RETAIN
策略指定数组保留关联的对象。但是,在释放数组时(在第2点),释放
overview
,因此在这种情况下也要释放。