类对象
类也是对象,类对象有且只有⼀个。类对象本质为objc_class结构体。类对象⾥⾯存储了类的⽗
类、属性、实例⽅法、协议、成员变量、⽅法缓存等等。
isa指向关系
实例对象的isa->类对象
类对象的isa->元类
元类的isa->根元类
根元类的isa->根元类⾃⼰
元类的继承关系
⽗类的元类就是元类的⽗类。根元类的⽗类就是NSObject。NSObject是万类之祖。
entsize_list_tt
entsize_list_tt 是个模板,可以实例化出method_list_t、ivar_list_t、property_list_t三种类型。
Element:表示元素类型 List:表示容器类型 FlagMask:标记位
template <typename Element, typename List, uint32_t FlagMask, typename PointerModi
⼤端、⼩端
⼤端的意思就是⾼位字节排放在内存的低地址端,低位字节排放在内存的⾼地址端。⼩端就恰恰相
反,低位字节排放在内存的低地址端,⾼位字节排放在内存的⾼地址端。
举个例⼦,⽐如,我们要存储⼀个0x12345678这个数据,我们在内存的0x1001开始存放。
内存地址 | 大端模式存放 | 小端模式存放 |
0x1001 | 0x12 | 0x78 |
0x1002 | 0x34 | 0x56 |
0x1003 | 0x56 | 0x34 |
0x1004 | 0x78 | 0x12 |
.cxx_destruct
.cxx_destruct⽅法是在ARC模式下⽤于释放成员变量的。只有当前类拥有实例变量时这个⽅法才会
出现,property⽣成的实例变量也算,且⽗类的实例变量不会导致⼦类拥有这个⽅法。