runtime添加属性

OBJC_ASSOCIATION_COPY。

enum {

OBJC_ASSOCIATION_ASSIGN = 0, //关联对象的属性是弱引用(weak)

OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1, //关联对象的属性是强引用并且关联对象不使用原子性(strong,nonatomic)

OBJC_ASSOCIATION_COPY_NONATOMIC = 3, //关联对象的属性是copy并且关联对象不使用原子性(copy,nonatomic)

OBJC_ASSOCIATION_RETAIN = 01401, //关联对象的属性是copy并且关联对象使用原子性

(copy,atomic)

OBJC_ASSOCIATION_COPY = 01403 //关联对象的属性是copy并且关联对象使用原子性

};(copy,atomic)

代码如下就可以了

- (NSString *)tag {

return objc_getAssociatedObject(self, &tagKey);

}

- (void)setTag:(NSString *)tag {

objc_setAssociatedObject(self,& tagKey, tag, OBJC_ASSOCIATION_COPY);

}


runtime添加属性_第1张图片

你可能感兴趣的:(runtime添加属性)