6.1.动态变量控制

在程序中,xiaoming的age是10,后来被runtime变成了20,来看看runtime是怎么做到的。

1.动态获取XiaoMing类中的所有属性[当然包括私有]

Ivar *ivar = class_copyIvarList([self.xiaoming class], &count);

2.遍历属性找到对应name字段

const char *varName = ivar_getName(var);

3.修改对应的字段值成20

object_setIvar(self.xiaoMing, var, @"20");