美文网首页
iOS 打印类的私有属性

iOS 打印类的私有属性

作者: th先生 | 来源:发表于2018-09-03 19:00 被阅读0次

    我们可以通过runtime运行时机制,动态的获取并改变类的私有属性。so酷!

    引入头文件

    #import <objc/runtime.h>
    
    通过下面代码获取类的属性
    unsigned int outCount = 0;
        Ivar *ivars = class_copyIvarList([UIAlertAction 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进行修改

       [cancelAction setValue:MainColor forKey:@"titleTextColor"];
    

    相关文章

      网友评论

          本文标题:iOS 打印类的私有属性

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