美文网首页
runtime(给分类增加属性)

runtime(给分类增加属性)

作者: 握青春 | 来源:发表于2016-11-24 14:06 被阅读0次

    常用的地方

     1. 动态交换两个方法的实现(特别是实现 交换系统方法的实现)

    2. 动态添加对象的成员变量和成员方法

    3. 获得某个类的所有成员变量,成员方法

    应用: OC最实用的runtime总结 //暂时先写自己需要的这块

    二. 在分类中设置属性,给任何一个对象设置属性

    在这里先要解释一个属性和成员变量区别,(因为我开始学习的时候,编译器已从GCC转换为LLVM(low level virtual machine),所以自己也是傻傻分不清楚,可能理解有偏差,勿喷)

    通常情况下@property 相当于 声明ivar + 生成set get方法

    而在分类里,只是生成 set get方法, 不会生成成员变量 必须实现set和get方法

    可见这个成员变量不存在,

    参数object:源对象,给哪个对象设置属性                                      

    参数key:一个属性对应一个key,可根据key取出值,建议用char类型,节省字节

    参数value:给属性设置的值

    参数policy: 存储策略,(assion,copy,retain(strong))

    将值(value)跟对象(object)关联起来(将值存储到对象里)

    有一个具体的应用,详情控制器继承于Base控制器

    调起,

    给button增加事件 动态给这个属性赋值

    当点击的时候触发红框下面的方法,根据key取出 block ,并执行block

    相关文章

      网友评论

          本文标题:runtime(给分类增加属性)

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