在做iOS接口测试时,会需要check私有变量是否有预期变化的情况或者修改。
私有变量的值,共有如下两种方式。
方式一:
// 获取对象实例变量的值
Ivar object_getInstanceVariable ( id obj, const char *name, void **outValue );
// 修改类实例的实例变量的值
Ivar object_setInstanceVariable ( id obj, const char *name, void *value );
方式二:
// 获取实例变量的Ivar值
Ivar class_getClassVariable(Class cls, const char *name)
// 获取对象实例变量的值
id object_getIvar ( id obj, Ivar ivar );
// 修改对象实例变量的值
void object_setIvar ( id obj, Ivar ivar, id value );
b、私有方法的访问和修改
原文转自:http://tmq.qq.com/2017/07/ios/