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);
}
网友评论