利用运行时遍历一个类中的成员变量。
Posted Enjoy-Coding
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用运行时遍历一个类中的成员变量。相关的知识,希望对你有一定的参考价值。
// 备注:可以在需要的地方调用这段代码。 // 但是调用前必须引用 #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
以上是关于利用运行时遍历一个类中的成员变量。的主要内容,如果未能解决你的问题,请参考以下文章
JavaSE7基础 类中的成员方法 局部变量和成员变量的变量名相同时,方法将使用局部变量
在 Java 中,是不是可以在运行时使用反射将成员变量添加到类中?