首页 > 其他 > 详细

利用运行时遍历一个类中的成员变量。

时间:2016-03-30 16:22:35      阅读:283      评论:0      收藏:0      [点我收藏+]
// 备注:可以在需要的地方调用这段代码。
// 但是调用前必须引用 #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

利用运行时遍历一个类中的成员变量。

原文:http://www.cnblogs.com/fs-ios/p/5337488.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!