zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

iOS:runtime的基础数据结构

2023-09-14 09:04:14 时间

返回上级目录:iOS面试专题一

1.总览:整体数据结构

在这里插入图片描述

2.objc_object = id

在这里插入图片描述

3.objc_class: Class

在这里插入图片描述

3.1 cache_t: 用于快速查找方法执行函数


在这里插入图片描述

3.2 class_data_bits_t

在这里插入图片描述

class_rw_t

  • 二维数组:分类,一个类中可能有很多个分类
    在这里插入图片描述

3.2.1 class_ro_t

在这里插入图片描述

4.isa指针

4.1 指针型:isa的值代表Class的地址,非指针型:isa的值的部分代表Class的地址

在这里插入图片描述

4.2 isa指向:实例–>Class–>MetaClass

在这里插入图片描述

5.method_t

5.1 函数四要素:SEL name;(名称) const char* types;(返回值,参数) IMP imp;(函数体)

在这里插入图片描述

5.2 const char* types(Type Encodings): v@:(void id SEL)

在这里插入图片描述