runtime源码解析--阅读指南

以我自己的亲身经历以及朋友和群友们的反馈,现在的iOS面试问的是越来越深了,而很多朋友和笔者自己也发现,光读过一些runtime的技术文章,还不够应付一些比较有深度的面试。因此阅读runtime源码的迫切性也是越来越高了。
以前读过几次runtime的源码,也做了一些笔记,但是还是觉得不够系统。故特意想总结一下,写一个runtime源码解析系列的文章。

纸上得来终觉浅绝知此事要躬行

如果认真读完这个系列的文章,类似的面试题应该难不倒了。

  1. Class,IMP,SEL,id,isa等的实质
  2. 方法加载流程
  3. 方法调用流程
  4. 完整的消息转发流程
  5. 分类为啥不能增加属性
  6. load和initialize
  7. autoreleasepool的实现原理
  8. weak的实现原理(含自动置空原理)
  9. retain和release及alloc,init,dealloc的源码实现
阅读指南

首先请把 study-objc-runtime工程下载下来,然后配合工程里面的HelpRead.md文件阅读。

runtime源码解析--阅读指南_第1张图片
HelpRead文档

举例如下:
如想阅读对象的定义,那么在工程中直接搜索 jack.deng 对象的定义
runtime源码解析--阅读指南_第2张图片
jack.deng 对象的定义

由于添加了关键字索引,所以阅读相关的源码就会比较方便找到对应的方法,此项目里面也增加了很多注释,方便阅读。

目录

runtime源码解析--阅读指南
runtime源码解析(前传1)--Mach-O格式
runtime源码解析(前传2)--Mach-O格式和runtime
runtime源码解析--基本数据结构
runtime源码解析--方法加载(runtime初始化)

你可能感兴趣的:(runtime源码解析--阅读指南)