runtime的基本理解
runtime简称运行时,OC是面向运行时的动态语言,即将函数的调用不在编译和链接时,而是推迟到了运行时,不同于C语言的方法调用都是在编译时进行。
- 在编译阶段,OC可以调用任何函数,属于动态调用的过程,及时这个函数没有实现,只要申明过就不会报错。
- 在编译阶段,C语言只要是没实现过的函数,调用就会报错。
- runtime是一套底层用C语言和汇编语言实现的API,OC代码最终都会被编译器转化成运行时代码,最终通过消息机制决定函数的调用,这也是OC作为动态语言的基础。
runtime的作用
- 动态创建类
- 添加、交换方法
- 分类添加属性
- 遍历对象的属性、方法
- 消息转发、传递