Runtime-iOS运行时基础篇
转自:https://www.jianshu.com/p/d4b55dae9a0d 本文主要整理了Runtime的相关知识。对于一个iOS开发者来说,掌握Runtime的重要性早已不言而喻。OC能够作为一门优秀的动态特性语言,在其背后默默工作着的就是Runtime。在网上也看过很多资料,最终我还是希望在一些关键的知识点上能够融入自己的理解,从简单的问题出发,一步一步理解和学以致用。 iOS运行时Runtime.png 相关文章:iOS运行时Runtime应用 目录: 一、怎么理解OC是动态语言,Runtime又是什么? 二、理解消息机制的基本原理 三、与Runtime交互的三种方式 四、分析Runtime中的数据结构 五、深入理解Rutime消息发送原理 六、多继承的实现思路:Runtime 七、最后总结 一、怎么理解OC是动态语言,Runtime又是什么? 静态语言 :如C语言,编译阶段就要决定调用哪个函数,如果函数未实现就会编译报错。 动态语言 :如OC语言,编译阶段并不能决定真正调用哪个函数,只要函数声明过即使没有实现也不会报错。 我们常说OC是一门动态语言,就是因为它总是把一些决定性的工作从编译阶段推迟到运行时阶段。OC代码的运行不仅需要编译器,还需要运行时系统(Runtime Sytem)来执行编译后的代码。 Runtime是一套底层纯C语言API