objc_class是objc_object的子类还是元类还是类对象?

来源:5-2 Runtime数据结构相关面试题-2

lileitodev

2018-09-19

obj_class继承自objc_object说明obj_class是子类

objc_object 的isa指针又指向obj_class,说明objc_class是objc_object的类对象或者元类?
不明白到底它们是啥关系?请求老师解答。

写回答

1回答

于海

2018-09-19

objc_class和objc_object都是结构体
我们的id对象是objc_object*类型的结构体指针。

objc_class结构体继承objc_object,由此objc_class结构当中有一个指向objc_class类型的指针。

这里提到的objc_class objc_object都是结构体类型

我们的一个对象,即id类型,本质是objc_object*类型的指针。对象当中的isa指针类型为objc_class指向该对象对应的类对象,类对象的结构里有一个isa指针 同样的类型指向它的元类对象

1
0

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程