美文网首页
从runtime的角度看分类为什么不能添加属性

从runtime的角度看分类为什么不能添加属性

作者: 编程_书恨少 | 来源:发表于2018-11-08 23:41 被阅读0次
    1. 首先看各种属性列表,成员变量列表,方法列表的打印,这里我比较懒就不自己截图了,代码我都写了,传也麻烦,就直接看这个帖子吧,https://blog.csdn.net/lixuezhi86/article/details/81713166,写的挺详细的。

    2.我想说的是
    2.1 在分类中添加属性,是会添加到属性列表中去的(属性列表并不在类结构中)
    2.2在分类中添加属性,是不会产生_属性名的成员变量的
    2.3在分类中添加属性,是不会在主类方法列表中生成setter和getter的

    那提问:为什么分类中不能添加属性,使用runtime就可以添加呢??

    有的解释说,类在编译期就已经固定了,所以是不能添加属性的。runtime添加的setter和getter也是在分类的methodList中添加了方法,而在类的ivarList中并没有添加成员变量。所以这种解释应该是靠谱的。

    相关文章

      网友评论

          本文标题:从runtime的角度看分类为什么不能添加属性

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