isa,superClass总结
先上图

总结:
a.instance的isa指向class
b.class的isa指向meta-class
c.meta-class的isa指向基类的meta-class
d.class的superclass指向父类的class
如果没有父类则superClass指针为nil
e.meta-class的superclass指向父类的meta-class
基类的meta-class的superclass指向基类的class
f.instance调用对象方法的轨迹

isa找到class,方法不存在,就通过superclass找父类,如果基类中还找不到,则会报错
经典错误 unrecognized selector sent to instance(找不到对象方法的实现)
g.class调用类对象方法的轨迹

isa找到meta-class,方法不存在,就通过superclass找父类,如果还没有,则会报错
经典错误 unrecognized selector sent to class(找不到对象方法的实现)(此处需多注意!!!)
网友评论