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指针 同样的类型指向它的元类对象10
相似问题