OC对象的结构信息
2019-04-02 本文已影响0人
春风依旧
OC对象的是结构是什么样的?? 信息是怎么存储的?? 结构之间是怎么进行联系的?? 等等,我在研究的时候通常都会进行思考,并进一步提升
一、isa指针:
isa之间的关系.png1、instance(实例对象)的isa指向class(类对象)
2、当调用对象方法是,通过instance(实例对象)的isa找到class(类对象),最后找到对象方法的实现进行调用
3、class(类对象)的isa指向meta-class(元类):
当调用类方法时,通过class(类对象)的isa找到meta-class(元类对象),最后找到类方法的实现进行调用。
二、class(类对象)的superclass指针:
类对象的[图片上传中...(元类的superclass.png-cd86b0-1554219303108-0)] superclass.png当Student的instance(实例对象)要调用Person的对象方法时:
- 会先通过isa找到Student的class(类对象),然后通过superclass找到Person的class(类对象),最后找到对象方法的实现进行调用。
三、meta-class(元类对象)的superclass指针:
元类的superclass.png当Student的class(类对象)要调用Person的类方法时:
- 会先通过isa找到Student的meta-class(元类对象),然后通过superclass找到Person的meta-class(元类对象),最后找到类方法的实现进行调用。