一、概述
对象分为实例对象、类对象、元类对象。
对象的本质为结构体。
二、对象中有什么
实例对象:isa指针、其他成员变量(这里存储的是成员变量的具体值)
类对象:isa指针、superclass指针、类的对象方法信息、类的属性信息、类的成员变量信息、类的协议信息
元类对象:isa指针、superclass指针、类方法信息
三、isa指针和superclass指针
isa指针和superclass指针
1、实例对象的isa指向class。
2、类对象的isa指向元类对象。
3、元类对象的isa指向基类的元类对象。
4、类对象的superclass指向父类的类对象。-如果没有父类,superclass指针为nil。
5、元类对象的superclass指向父类的元类对象-基类的元类对象的superclass指向基类的class。
6、实例对象调用对象方法的轨迹。-isa找到class,方法不存在,就通过superclass找父类。
7、类对象调用类方法的轨迹-isa找到meta-class,方法不存在,就通过superclass找父类。