使用runtime 动态修改model内容

   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

你可能感兴趣的:(使用runtime 动态修改model内容)