Person *person = [[Person alloc]init];
person.name = @"asdas";
NSLog(@"%@",person.name);
[self editObjectIvar:person :@"_name" :@"新属性"];
NSLog(@"new :%@",person.name);
- (void)editObjectIvar :(id)object
:(NSString *)IvarStr
:(NSString *)IvarNewStr
{
unsigned int count = 0;
Ivar *allList = class_copyIvarList([object class], &count);
for(int i = 0;i<count;i++)
{
Ivar ivar = allList[i];
const char *Variablename = ivar_getName(ivar);
if ([[NSString stringWithUTF8String:Variablename] isEqualToString:IvarStr]) {
object_setIvar(object, ivar, IvarNewStr);
}
}
free(allList);
}