runtime:一个程序在运行(或者在被执行)的状态。也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻,简称运行时。
oc就是运行时机制,也就是运行时候的一些机制,其中最主要的就是消息机制。
任何方法调用的本质:发送一个消息,用runtime发送消息,OC底层实现通过runtime。
何时使用runtime:不得不用runtime消息机制,去调用私有方法(头文件没有声明 但是实现了又想调用 改头文件不好)
runtime方法调用流程:
1.通过isa去对应的类中去寻找。
2.注册方法编号。
3.根据方法编号去查找对应的方法。
4.方法根据地址去方法区中寻找到方法的实现。
runtime交换方法:
1.给系统的方法添加分类
2.自己实现一个带有扩展功能的方法
3.交换方法,只交换一次