下列方法可以管理关联对象:
- void objc_setAssociatedObject(id object, void*key, id value, objc_AssociationPolicy policy)
此方法以给定的键和策略为某对象设置关联对象值。
- id objc_getAssociatedObject(id object, void*key)
此方法根据给定的键从某对象中获取相应的关联对象值。
- void objc_removeAssociatedObjects(id object)
此方法移除指定对象的全部关联对象。
要点
- 可以通过“关联对象”机制来把两个对象连起来。
- 定义关联对象时可指定内存管理语义,用以模仿定义属性时所采用的“拥有关系”与“非拥有关系”。
- 只有在其他做法不可行时才应选用关联对象,因为这种做法通常会引入难于查找的bug。
第10条:在既有类中使用关联对象存放自定义数据
原文:http://www.cnblogs.com/lanyayue/p/5296175.html