关于 NSobject
NSobject-> A -> B
1 | struct NSObject_IMPL { |
1 | @``interface` `A : NSObject |
1 | struct A { |
1 | struct A { |
1 | @``interface` `B : A |


instance的isa指向classclass的isa指向meta-class
meta-class的isa指向基类的meta-class
class的superclass指向父类的class,如果没有父类,superclass指针为nilmeta-class的superclass指向父类的meta-class,基类的meta-class的superclass指向基类的classisa(of instance) –> isa(of class) –> isa(of meta-class)
面试题解答
- 对象的isa指针指向哪里?
instance对象的isa指针指向class对象class对象的isa指针指向meta-class对象meta-class对象的isa指针指向基类(也就是NSObject)的meta-class对象
- OC的类信息存放在哪里?
- 对象方法,属性信息,成员变量信息,协议信息,存放在
class对象中- 类方法,存放在
meta-class对象中- 成员变量的具体值,存放在
instance对象中