标签:
Associated Objects 主要有以下三个使用场景:
1、为现有的类添加私有变量以帮助实现细节
2、为现有的类添加公有属性;
3、为 KVO 创建一个关联的观察者。
关联函数一共有3个:
void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy);
id objc_getAssociatedObject(id object, const void *key);
void objc_removeAssociatedObjects(id object);
OBJC_ASSOCIATION_ASSIGN = 0, //弱引用关联对象
OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1, //强引用关联对象,且为非原子操作
OBJC_ASSOCIATION_COPY_NONATOMIC = 3, //复制关联对象,且为非原子操作
OBJC_ASSOCIATION_RETAIN = 01401, //强引用关联对象,且为原子操作
OBJC_ASSOCIATION_COPY = 01403 //复制关联对象,且为原子操作
Objective-C Associated Objects 初识
标签:
原文地址:http://www.cnblogs.com/cranz-jf/p/5316889.html