objc动态特性

关联对象

相当于android中的setObject

要引入 <objc/runtime.h>

设置关联:

objc_setAssociatedObject(array, &overviewKey, overview, OBJC_ASSOCIATION_RETAIN);

获取关联的对象:

NSString * associatedObject = (NSString *)objc_getAssociatedObject(array, &oveviewKey);

断开关联也是使用objc_setAssociatedObject函数,设置被关联的对象为nil,此时关联策略可任意:

objc_setAssociatedObject(array, &overviewKey, nil, OBJC_ASSOCIATION_ASSIGN);

发表评论