美文网首页
category为什么不能添加属性

category为什么不能添加属性

作者: 三岁就很乖 | 来源:发表于2017-03-24 09:14 被阅读129次

    category是在程序加载运行的时候,才加载到内存中,此时各个类的内存布局已经确定了,不可以再更改。

    可以加属性,但是没有对应的成员变量存储区域。类的成员变量存储区在编译时就确定了。所以只能定义成@dynamic,运行时关联一块内存到对象。

    在runtime中存在一个类型为AssociationHashMap的哈希映射表保存着对象动态添加的属性,每个对象以自身地址为key维护着一个绑定属性表,我们动态添加的属性就都存储在这个表里,这也是动态添加property能成功的基础。

    相关文章

      网友评论

          本文标题:category为什么不能添加属性

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