「疾如風,徐如林,侵掠如火,不動如山」
【类的加载】-(1)类的启动 【类的加载】-(1)类的启动
本页所使用的objc runtime 756.2,来自 Apple 开源文档 类的加载探寻系列:1、【类的加载】-(1)类的启动 2、【类的加载】-(2)懒加载类与分类 3、【类的加载】-(3)loading_images 1、ob
2020-03-24 李佳
【底层探索】dyld浅析 【底层探索】dyld浅析
本页所使用的objc runtime 756.2,来自GITHUB 一、引言前文研究了对象、方法的基础,知道了对象/类的结构,类方法的生成和传递原理。下面该进入到核心环节,就是类的加载了,在这一个模块,需要了解的有下面几点: OC 的
2020-03-23 李佳
方法的本质4_消息转发机制 方法的本质4_消息转发机制
本页所使用的objc runtime 756.2,来自GITHUB 1、回顾上文消息方法的本质3_消息查找流程 一文总结了方法查找的流程,得到结论如下: 类的缓存里查找——找到——结束查找 类的方法列表里查找——找到——结束查找 递
2020-03-13 李佳
【休闲】西湖一瞥 【休闲】西湖一瞥
逛次逛次的西湖今天过来平海路的Apple 直营店给电脑做大保健,顺便看了一眼西湖。 湖边景色依旧宜人,可惜游人寥寥。 期待一切顺利,然后恢复到游人如织的景色。
2020-03-09 李佳
方法的本质3_消息查找流程 方法的本质3_消息查找流程
本页所使用的objc runtime 756.2,来自GITHUB 1. 概念在前文中,已经总结了方法查找的流程,今天从代码层面上继续阐述。 isa 的指向图如下所示: 2. 方法查找流程2.1 从业务代码分析配置代码环境:,先
2020-03-06 李佳
方法的本质2_从objc_msgSend谈起 方法的本质2_从objc_msgSend谈起
方法的本质,就是消息传递… 本页所使用的objc runtime 756.2,来自GITHUB 一、引子:Runtime概念我们都知道,在运行OC代码时,类或者对象在调用方法时会用到runtime,那么,到底什么是运行时呢? 寻找一
2020-02-24 李佳
方法的本质1--cache_t方法缓存分析 方法的本质1--cache_t方法缓存分析
本页所使用的objc runtime 756.2,来自GITHUB 1.概念1.1 objc_class 结构前面探索了类的结构,知道了类的结构本质上是objc_class的结构体,而在 C 源码例, objc_class 结构体的结构
2020-01-21 李佳
OC底层研究4--类的结构分析 OC底层研究4--类的结构分析
本页所使用的objc runtime 756.2,来自GITHUB 1.概念1.1 类Class 的类型 Class在源码里的真正类型为objc_class的结构体。 先查看源码——在Xcode按下Shift+Command+O,选择
2020-01-12 李佳
2020新年感想 2020新年感想
2020年是一个闰年,第一天从星期三开始。 今天看了小羊肖恩大电影,故事讲得真好看,小朋友全程开心,全情投入,大朋友也觉得耳目一新,深受感动。 这是我们带他看的第一部电影,新的一年,从第一开始。 用一句涂鸦来鼓舞自己 宁愿最后徒劳无
2020-01-02 李佳
OC底层研究3--isa的初始化和指向分析 OC底层研究3--isa的初始化和指向分析
本页所使用的objc runtime 756.2,来自GITHUB 开始继续学习研究OC源码,这次研究的是isa的初始化和指向分析。 1. 概念什么是isa看看苹果文档的介绍: isa A Pointer to the class d
2019-12-27 李佳
OC底层研究2--内存对齐原理 OC底层研究2--内存对齐原理
本页所使用的objc runtime 756.2,来自GITHUB 开始继续学习研究OC源码,今天看的是OC的内存原理,以及对齐原理的分析。 1.概念内存对齐在数据结构中,是比较基础也比较重要的一环,对于iOS开发,研究底层更免不了要了
2019-12-22 李佳
OC 底层研究1--alloc和init原理 OC 底层研究1--alloc和init原理
本页所使用的objc runtime 756.2,来自GITHUB 1. 题目开始学习研究OC源码,今天看的是对象的初始化,也就是alloc以及init的分析。 2. 附流程图如下 3. 内容3.1引子我们先看一段代码,Person类
2019-12-16 李佳
4 / 5