美文网首页程序员
关于RunTime运行时的小知识

关于RunTime运行时的小知识

作者: Mr姜饼 | 来源:发表于2018-11-26 10:27 被阅读0次

    1.class_copyPropertyList与class_copyIvarList区别

    class_copyPropertyList   仅仅获取属性列表

    class_copyIvarList  返回类的所有属性和变量(包括大括号中申请的变量)



    实际应用

    1.给分类动态绑定属性

    objc_setAssociatedObject(self, &target_key, block, OBJC_ASSOCIATION_COPY_NONATOMIC);

    2.方法的交换

    class_replaceMethod(selfClass, cusSEL, method_getImplementation(oriMethod), method_getTypeEncoding(oriMethod));



    3.字典转模型

    class_copyPropertyList([selfclass], &outCount);

    4.获取所有的私有属性和方法

    class_copyPropertyList([selfclass], &outCount);

    5、对私有属性修改

    (一些封装起来的类 并没有在.h文件中提供属性  你可以根据class_copyPropertyList([selfclass], &outCount);获取其中的属性,再根据valueforkey: 取得   然后可以进行修改


    6.快速归档解档



    7.修改方法

    相关文章

      网友评论

        本文标题:关于RunTime运行时的小知识

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