在做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/