美文网首页ios底层原理
OC对象的结构信息

OC对象的结构信息

作者: 春风依旧 | 来源:发表于2019-04-02 22:35 被阅读0次

OC对象的是结构是什么样的?? 信息是怎么存储的?? 结构之间是怎么进行联系的?? 等等,我在研究的时候通常都会进行思考,并进一步提升

一、isa指针:

isa之间的关系.png

1、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(元类对象),最后找到类方法的实现进行调用。

相关文章

  • OC对象的结构信息

    OC对象的是结构是什么样的?? 信息是怎么存储的?? 结构之间是怎么进行联系的?? 等等,我在研究的时候通常都会进...

  • 01-OC对象的本质

    OC是通过C/C++的什么数据结构实现我们的OC对象呢 结构体--OC对象的本质就是C/C++的结构体 Class...

  • 关于为何view.frame.size.width = *报错

    OC语法规定:OC对象的结构体属性的成员变量无法直接赋值, 但是可以给OC对象的结构体属性赋值 也就是说 可以直接...

  • iOS基础知识(三)对象本质

    一、对象的本质: 对象:OC对象的本质是结构体,结构体内部是一个指针 1、引申:一个OC对象最少占用几个字节? 一...

  • Runtime

    oc对象 OC类对象元类对象编译后的结构如下结构体 isa arm64架构之前isa只是一个指针,指向类对象或者元...

  • OC对象的结构

    Objective-C的本质 我们平时编写的Objective-C代码,底层实现其实都是C\C++代码image ...

  • OC总结篇 - OC对象及方法

    1.OC对象 = 结构体id对象 = objc_object结构体继承类对象 = objc_class结构体 ob...

  • iOS-浅谈OC中对象的类型

    目录 OC对象的类型Instance对象(实例对象)----实例(instance)对象内存结构Class对象(类...

  • OC对象的分类【instance、class、 meta-cla

    OC对象的分类 提问? OC的类信息存放在哪里? Objective-C中的对象,简称OC对象,主要可以分为3种 ...

  • iOS大厂面试题总结

    1. OC语法 1. OC中对象的结构(腾讯一面) Instance对象如果是NSObject对象,对象中只有一个...

网友评论

    本文标题:OC对象的结构信息

    本文链接:https://www.haomeiwen.com/subject/hifobqtx.html