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

2019-12-17  本文已影响0人  扶摇先生

一、对象的分类

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

二、对象的数据结构

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

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

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

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

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


示意图
上一篇下一篇

猜你喜欢

热点阅读