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

Posted gumengli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
}






以上是关于runtime在实际开发中的应用-为类别添加属性的主要内容,如果未能解决你的问题,请参考以下文章

Runtime objc4-779.1 Runtime在实际开发中的应用之__attribute__

iOS的Runtime机制下给类别(category)添加属性替换原有类的方法执行

通过runtime对类别进行属性的扩展

OC中类别(Category)的属性

Objective-C

iOS开发 runtime实现原理以及实际开发中的应用