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

需要导入的框架

/**
 *  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"];

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

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,076评论 25 708
  • 1、设置UILabel行间距 NSMutableAttributedString* attrString = [[...
    十年一品温如言1008阅读 1,694评论 0 3
  • 1、设置UILabel行间距 NSMutableAttributedString* attrString = [[...
    FF_911阅读 1,405评论 0 3
  • 星期一 一份资料分析 上次言语 这次所有 常识 星期二 一份资料 逻辑真题 常识 大作文素材 大白申论 星期三 一...
    逃离熟人阅读 224评论 0 0
  • 对投资的模式框架有了一个大概的理解 专心做事,专心玩,不要一边做事,一边还浪费大量时间,怕别人看不上。 开始做事,...
    菜心昕阅读 87评论 0 0