运行时runtime首页投稿(暂停使用,暂停投稿)

iOS 控件私有属性遍历

2016-06-23  本文已影响492人  CCSHCoder

控件私有属性遍历主要利用OC的RunTIme机制
首先加入头文件

#import <objc/runtime.h>

写入代码

    unsigned int outCount = 0;
    Ivar *ivars = class_copyIvarList([UITextField class], &outCount);
    
    for (NSInteger i = 0; i < outCount; ++i) {
        // 遍历取出该类成员变量
        Ivar ivar = *(ivars + i);
        
        NSLog(@"\n name = %s  \n type = %s", ivar_getName(ivar),ivar_getTypeEncoding(ivar));
    }
    
    // 根据内存管理原则释放指针
    free(ivars);

通过KVC进行修改

    //拿到私有的属性forKey: 进行改变setValue:
//    [self.view setValue:<#(nullable id)#> forKey:<#(nonnull NSString *)#>];
上一篇下一篇

猜你喜欢

热点阅读