runtime在实际开发中的应用-为类别添加属性

利用运行时set和get这两个API,可以让类别添加属性

1.创建一个类别:NSObject+Category

2..h生命get和set方法  

@property(nonatomic,copy)NSString *name;

 

3..m重写set和get方法,内部利用runtime给属性赋值和取值

char nameKey;

- (void)setName:(NSString *)name {
// 将某个值跟某个对象关联起来,将某个值存储到某个对象中
objc_setAssociatedObject(self, &nameKey, name, OBJC_ASSOCIATION_COPY_NONATOMIC);
}

- (NSString *)name {
return objc_getAssociatedObject(self, &nameKey);
}

posted on 2019-01-07 17:26  奔跑中的小谷子  阅读(99)  评论(0编辑  收藏  举报