类对象的数据结构?
具体可以参看 Runtime
源代码。
类对象就是
objc_class
。
struct objc_class : objc_object {
// Class ISA;
Class superclass; //父类指针
cache_t cache; // formerly cache pointer and vtable 方法缓存
class_data_bits_t bits; // class_rw_t * plus custom rr/alloc flags 用于获取地址
class_rw_t *data() {
return bits.data(); // &FAST_DATA_MASK 获取地址值
}
它的结构相对丰富一些。继承自objc_object
结构体,所以包含isa
指针
-
isa
:指向元类 -
superClass
: 指向父类 -
Cache
: 方法的缓存列表 -
data
: 顾名思义,就是数据。是一个被封装好的class_rw_t
。
面试题持续整理更新中,需要拿到第一手大厂面试题及答案文档可以添加 iOS进阶学习交流群:551346706 !结实人脉、讨论技术你想要的这里都有!
![]()
网友评论