iOS中 runtime 运行时的简单使用:获取某个类的成员变量

2016-11-03  本文已影响36人  magic_pill
- (void)viewDidLoad {
    [super viewDidLoad];
    
    //获取所有成员变量以及其所归属的类
    unsigned int count = 0;
    Ivar *vars = class_copyIvarList([UITextField class], &count);
    
    for (int i=0; i<count; i++) {
        Ivar var = *(vars + i);
        NSLog(@"%s <------>  %s",ivar_getName(var),ivar_getTypeEncoding(var));
    }
}
成员变量
- (void)viewDidLoad {
    [super viewDidLoad];
    
    //获取所有属性以及其所对应的类
    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];
        NSLog(@"%s   <-------> %s",property_getName(property),property_getAttributes(property));
    }
}
原有属性列表 获取的属性列表
上一篇 下一篇

猜你喜欢

热点阅读