美文网首页
OC对象数据结构 以及的isa指针和superClass指针指向

OC对象数据结构 以及的isa指针和superClass指针指向

作者: 扶摇先生 | 来源:发表于2019-12-17 23:37 被阅读0次

    一、对象的分类

    对象分为实例对象(instance)、类对象(class)和元类对象(meta class)

    二、对象的数据结构

    1、实例对象的数据结构是所有的成员属性(包括一个isa指针和其他属性 )

    2、类对象的数据结构包括一个isa指针、一个superclass指针、方法缓存列表cache和方法列表data,其中data中存的是可读可写的,里边还有属性信列表、协议方法列表、对象方法列表 类对象的数据结构
    方法列表的数据结构

    3、元类对象的数据结构其实和类对象一样,只不过少了那三个方法列表,取而代之的是类方法列表

    三、isa指针和superClass指针的指向

    实例对象的isa指向类对象
    类对象的的isa指向元类对象
    元类对象的isa指向基类的元类对象
    类对象的superclass指向父类的类对象
    如果没有父类,superclass指针为nil
    元类对象的superclass指向父类的元类对象
    基类的元类对象的superclass指向基类的类对象


    示意图

    相关文章

      网友评论

          本文标题:OC对象数据结构 以及的isa指针和superClass指针指向

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