美文网首页
用运行时机制查找对象属性

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

作者: 一米押金 | 来源:发表于2017-02-16 10:20 被阅读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"];

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

相关文章

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

    需要导入的框架 我的目标,是找UITextField的相关属性执行过程: 找到之后需要的操作,我加入找的是UIGe...

  • 编程之反射机制

    什么是反射机制 反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。 ...

  • Effective Objective-C 2.0笔记(二)

    对象,消息,运行期 理解“属性”这一概念 OC是通过运行时机制来提供相关支持的,属性则是用来封装OC对象中数据的类...

  • Java 反射之Hook 实例

    Hook 机制主要是通过反射机制,在运行时改变某个对象的属性或者行为(很抽象!!!),所以必须以实例作为学习的切入...

  • Python面向对象——类属性「二」

    一、属性的获取机制(向上查找) 在python中属性的获取存在一个向上查找的机制。 向上查找一直找不到会报错。 1...

  • js反射机制

    反射机制:是指程序在运行时能够获取自身的信息 eg:一个对象在运行时,知道自己的属性和方法 var obj={ n...

  • Python中属性查找的顺序

    1.继承关系的查找 python2中是深度查找python3中是广度查找 2.属性的查找 对象的查找先从对象属性字...

  • 面向对象与原型

    对象的原型 每个对象都含有原型的引用,当查找属性时,若对象本身不具有该属性,则会查找原型上是否有该属性。对象的原型...

  • Javascript教程(十三)原型链

    当我们用obj.xxx访问一个对象的属性时,JavaScript引擎先在当前对象上查找该属性,如果没有找到,就到其...

  • go 的反射 reflect

    Golang语言实现了反射,反射机制就是在运行时动态的调用对象的方法和属性,官方自带的reflect包就是反射相关...

网友评论

      本文标题:用运行时机制查找对象属性

      本文链接:https://www.haomeiwen.com/subject/sricwttx.html