美文网首页iOS面试生活随记iOS学习开发
iOS Runtime面试题(类对象的数据结构?)

iOS Runtime面试题(类对象的数据结构?)

作者: 程序员_秃头怪 | 来源:发表于2019-08-01 16:30 被阅读3次

类对象的数据结构?

具体可以参看 Runtime 源代码。

类对象就是 objc_class

struct objc_class : objc_object {
    // Class ISA;
    Class superclass; //父类指针
    cache_t cache;             // formerly cache pointer and vtable 方法缓存
    class_data_bits_t bits;    // class_rw_t * plus custom rr/alloc flags 用于获取地址

    class_rw_t *data() { 
        return bits.data(); // &FAST_DATA_MASK 获取地址值
    }

它的结构相对丰富一些。继承自objc_object结构体,所以包含isa指针

  • isa:指向元类
  • superClass: 指向父类
  • Cache: 方法的缓存列表
  • data: 顾名思义,就是数据。是一个被封装好的 class_rw_t

面试题持续整理更新中,需要拿到第一手大厂面试题及答案文档可以添加 iOS进阶学习交流群:551346706 !结实人脉、讨论技术你想要的这里都有!

相关文章

网友评论

    本文标题:iOS Runtime面试题(类对象的数据结构?)

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