用运行时机制查找对象属性

2017-02-16  本文已影响0人  一米押金

需要导入的框架

/**
 *  runtime导入库
 */
#import <objc/runtime.h>

我的目标,是找UITextField的相关属性
执行过程:

    unsigned int count = 0;
    //拷贝出所有的成员变量列表--目标textfield(记住这个*是指针变量)
    Ivar *ivars = class_copyIvarList([UITextField class], &count);
    for (int i = 0; i < count; i ++) {
        //取出成员--这是取出地址
        Ivar ivar = *(ivars + i);
        //打印成员变量
        //NSLog(@"%s",ivar_getName(ivar));
    }
    
    //释放
    free(ivars);

找到之后需要的操作,我加入找的是UIGestureRecognizer目的是找target或者action,所以:

    //获取target/action
    id targets = [systemGes valueForKey:@"_targets"];

弊端:
记得在一次视频里看到叶孤城对这个说到过,但是具体弊端是什么,我尚未可知

上一篇 下一篇

猜你喜欢

热点阅读