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

因为在使用中要设置 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 方式赋值使用了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容