美文网首页
利用runtime访问苹果隐藏的成员变量和成员方法

利用runtime访问苹果隐藏的成员变量和成员方法

作者: 七里田间的守望者 | 来源:发表于2016-12-28 11:24 被阅读13次

    访问成员变量

        unsigned int count = 0;
        
        objc_property_t *properties = class_copyPropertyList([UITextField class], &count);
        
        for (int i = 0; i<count; i++) {
            // 取出属性
            objc_property_t property = properties[i];
            
            // 打印属性名字
            Log(@"%s   <---->   %s", property_getName(property), property_getAttributes(property));
        }
        
        free(properties);
    

    访问成员方法

        unsigned int count = 0;
        // 拷贝出所有的成员变量列表
        Ivar *ivars = class_copyIvarList([UITextField class], &count);
        
        for (int i = 0; i<count; i++) {
            // 取出成员变量
            //        Ivar ivar = *(ivars + i);
            Ivar ivar = ivars[i];
            
            // 打印成员变量名字
            Log(@"%s %s", ivar_getName(ivar), ivar_getTypeEncoding(ivar));
        }
        
        // 释放
        free(ivars);
    

    相关文章

      网友评论

          本文标题:利用runtime访问苹果隐藏的成员变量和成员方法

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