Runtime程序员iOS Developer

实践中学习 oc runtime 之一: 打印类的所有属性(包括

2016-06-26  本文已影响278人  devZhang

因为在使用中要设置 UITextFieldPlaceholder 文字属性,公开属性无法设置,所以需要查看私有属性,做法如下:

利用运行时查看类的所有属性

头文件导入 #import <objc/runtime.h>

获取UITextField的私有属性查看

    unsigned int count;
    Ivar *ivarList = class_copyIvarList([UITextField class], &count);
    for (int i = 0; i < count; i++) {
        Ivar ivar = ivarList[i];
        XFLog(@"%s", ivar_getName(ivar));
    }
    free(ivarList);

打印结果如下:


发现里面有个 _placeholderLabel私有属性,就可以拿来用 KVC 方式赋值使用了

上一篇下一篇

猜你喜欢

热点阅读