底层原理总结 — isa和superclass

2020-02-08  本文已影响0人  踩坑小分队

isa指针的作用

image.png

class 的 superclass 的作用

image.png

场景:
Student调用init方法

1、通过Student的isa指针找到Student的class
2、通过Student的class的superclass指针找到Person的class
3、通过Person的class的superclass指针找到NSObject的class
4、最终找到对象方法init方法,进行调用

meta-class的superclass的作用

image.png

场景:
Student调用alloc方法

[Person alloc]

1、通过Student类的isa指针找到Student的meta-class
2、通过Student的meta-class的superclass找到Person的meta-class
3、通过Person的meta-class的superclass找到NSObject的meta-class
4、找到NSObject的meta-class中的alloc类方法,进行调用

总结:

image.png
上一篇 下一篇

猜你喜欢

热点阅读