上一篇 聊的是: 在不知道一个对象有什么属性的情况下, 获取对象的所有属性,然后可以改变属性的值, 今天我们谈谈 怎么通过Category(类别)+runtime 给一个类 添加一个新的属性,一般情况下,我们通常背的概念都是,Category(类别)只可以添加方法,不可以添加属性,但是有了runTime之后,一切就不一样了 上代码喽·····

引入

#import <objc/runtime.h>


添加
static void* FYObjProKey = @"FYObjProKey";

1  NSObject *object = [[NSObject alloc] init];
2  NSString *str = @"runTime添加的变量";
3     // 添加 属性
4  objc_setAssociatedObject(object, &FYObjProKey, str, OBJC_ASSOCIATION_COPY);
5     // 获取 属性
6  id objValue =  objc_getAssociatedObject(object, &FYObjProKey);
7 
8  NSString *getStr = (NSString *)objValue;
9  NSLog(@"%@",getStr);
View Code

相关文章: