美文网首页
runtime取内部成员变量,属性,方法

runtime取内部成员变量,属性,方法

作者: 走道牙的人 | 来源:发表于2016-08-06 16:53 被阅读13次

示例代码

#import <objc/runtime.h>

unsigned int count = 0;

// 拷贝出所有的成员变量列表
Ivar *ivars = class_copyIvarList([UIDatePicker class], &count);

for (int i = 0; i<count; i++) {
    // 取出成员变量
    // Ivar ivar = *(ivars + i);
    Ivar ivar = ivars[i];
    
    // 打印成员变量名字
    NSLog(@"%s", ivar_getName(ivar));
}

// 释放
free(ivars);

// 拷贝出所有的属性列表
objc_property_t *propertys = class_copyPropertyList([UIDatePicker class], &count);

for (int i = 0; i<count; i++) {
    // 取出成员变量
    objc_property_t property = propertys[i];
    
    // 打印成员变量名字
    NSLog(@"%s", property_getName(property));
}

// 释放
free(propertys);

// 拷贝出所有的方法列表
Method *methods = class_copyMethodList([UIDatePicker class], &count);

for (int i = 0; i<count; i++) {
    // 取出成员变量
    Method method = methods[i];
    
    // 打印成员变量名字
    NSLog(@"%@", NSStringFromSelector(method_getName(method)));
}

// 释放
free(methods);

相关文章

网友评论

      本文标题:runtime取内部成员变量,属性,方法

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