使用runtime 动态修改model内容
2017-08-19 本文已影响3人
5a9c6f44e578
self.object = [object new];
unsigned int count = 0;
// class_copyIvarList 获取类成员变量列表, count 为类成员数量
Ivar *ivar = class_copyIvarList([self.object class], &count);
for (int i = 0; i < count; i++) {
Ivar var = ivar[i];
// 获取成员变量名
const char *varName = ivar_getName(var);
NSString *proname = [NSString stringWithUTF8String:varName];
//这里别忘了给属性加下划线
if ([proname isEqualToString:@"_name"]) {
// object_setIvar 给一个对象的属性设置新值
object_setIvar(self.object, var, @" 新的名字");
break;
}
}
NSLog(@"修改后的name == %@",self.object.name);
image.png