Runtime 思维导图

2,300 阅读1分钟

这半年项目从RN转到原生,学习了iOS开发的皮毛后,我也深度参与iOS端的重构工作。折腾小半年项目终于上线。所以这两天抽时间阅读了runtime的源码,趁着还没忘赶紧整理记录一下。

  • Runtime 介绍
  • Runtime 可调式源码
  • Runtime 思维导图

Runtime 介绍

因为Objective-C是一门动态语言,所以它将一些决策工作从编译、连接过程推迟到运行时。所以只有编译器是不够的,还需要一个运行时系统 (runtime system) 来执行编译后的代码。这就是 Objective-C Runtime 系统存在的意义,它是整个Objective-C运行框架的一块基石。

Runtime 可调式源码

想要更直观的认识runtime过程,还是直接跟踪、阅读源码比较合适。所以我从网上找了一份可以跟踪调试的 runtime-750 源码。Clone下来,在Xcode中直接运行即可,target选择debug-objc

找到 main.m文件,在对象方法调用前面打上断点,就可以跟踪代码的运行啦!

Runtime 思维导图

结合阅读源码,画出了消息传递、转发的思维导图,如下:

目前runtime阅读还在进行中,后面会进行补充更新。如有错误和纰漏,还请各位留言指出~ :-D