// 备注:可以在需要的地方调用这段代码。 // 但是调用前必须引用 #import <objc/runtime.h> 头文件 - (void)ivarListDemo { unsigned int count; Ivar *ivarArray = class_copyIvarList([UITextField class], &count); for (int i = 0; i < count; i++) { Ivar ivar = ivarArray[i]; NSLog(@"%s",ivar_getName(ivar)); } free(ivarArray); }
当通过上述方法,遍历出这个类的的所有的成员变量后,可以根据需求,利用KVC,动态设置某个成员变量的属性。
比如,利用上述方法,获得UITextField的_placeholderLabel属性,然后利用KVC设置它的color