OC对象主要分为3类: 实例对象(instance 对象)、类对象(class对象)、元类对象(meta-class对象).
根据OC源码,instance对象内存包含的信息:
* isa指针
* 成员变量的具体值
class对象内存包含:
* isa指针
* superClass指针
* 类的成员变量的信息、类的属性信息
* 类的协议信息、类型的对象方法
meta-class对象内存包含:
* isa指针
* superClass指针
* 类的方法信息
1. 对象的isa指针指向哪里
* instance对象的isa指针指向class对象
* class对象的isa指针指向meta-class对象
* meta-class对象的isa指针指向基类的meta-class对象
2. class对象的superClass指针指向的是父类对象的class
* 如果没有找到父类对象的class,superClass为nil
3.meta-class对象的superClass指针指向的是父类对象的meta-class
* 基类的meta-class对象的superClass指针指向的是基类对象的class
4.instance对象调用方法的轨迹
* 根据isa找到class,如果class没有此方法,通过superclass指针找到父类对象的class
5. class对象调用方法的轨迹
* 根据isa找到meta-class对象,如果meta-class没有此方法,会通过superclass指针找到父类对象的meta-class,最后如果基类meta-class找不到此方法,会找到基类的class