上一篇 聊的是: 在不知道一个对象有什么属性的情况下, 获取对象的所有属性,然后可以改变属性的值, 今天我们谈谈 怎么通过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);