文章目录
前言
运行时API的应用:
- 路由的实现(接口控制app跳任意界面)
- 获取修改对象的成员属性
- 动态添加/交换方法的实现: https://blog.csdn.net/z929118967/article/details/78019668
- 属性关联: https://blog.csdn.net/z929118967/article/details/78033027
- iOS 间接实现多继承的方式:消息转发、类别、delegate和protocol(委托协助主体完成操作任务,将需要定制化的操作预留给委托对象来自定义实现 与block类似) 。
I runtime的作用
因为objective-c是一门动态语言,也就是说只有编译器是不够的,还需要一个运行时系统(runtime system)来执行编译后的代码。
runtime简称运行时,其中最主要的就是消息机制。
对于编译期语言,会在编译的时候决定调用哪个函数。对于OC的函数,是动态调用的,在编译的时候并不能决定真正调用哪个函数,只有在运行时才会根据函数的名称找到对应的函数来调用。