iOS底层总结-类对象和元类对象的结构

下载objc4源码:opensource.apple.com/tarballs/
  1. 打开项目,搜索:struct objc_class,发现runtime.h中:
    image.png
    可以发现:其中有isa指针,superclass指针,ivar成员变量,method_list方法列表,cache缓存,protocol_list协议列表。

    不过值得注意的是,这个结构体在OBJC2以后已经被抛弃了:OBJC2_UNAVAILABLE

  2. 所以我们继续寻找最新的结构:
    image.png
    查看objc_object结构如下,其实其中就是存放着isa指针:
    image.png
    最终分析结果如下:
    image.png
    其实新的结构体和老的结构体没有本质上的区别,该有的主要特征信息都有了,而且还多了一些成员变量。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享