iOS总结篇-Runtime
2021-06-11 本文已影响0人
测试账号
好的学习肯定是先知其然,再知其所以然,为了加强对iOS的学习理解,就有必要了解下运行机制Runtime!
![](https://img.haomeiwen.com/i15489965/fb1d99c558757308.jpg)
Runtime是什么?
RunTime简称运行时,就是系统在运行的时候的一些机制,其中最主要的是消息机制。iOS开发中,方法的调用基本是也都是消息的发送。Runtime语言是用C语言和汇编代码写的,因为这样可以提高系统运行效率,减少冗余的处理时间。OC直接从三种不同的地方,来合理使用着Runtime方法,分别是通过 1> Objective-C 源代码 2>通过 Foundation 框架的NSObject类定义的方法 3>通过对 runtime 函数的直接调用。
Runtime怎么用?
1.OC最底层的实现,OC的方法调用,就是用了Runtime的消息发送,以及其他的一些OC实现原理
2.对系统的方法进行拦截,也可以对直接自定义方法的进行替换。
3.实现分类的方法中,"特殊"添加属性实现,虽然并不是真的添加进去新属性,但是却可以起到其相同作用。
4.实现NSCoding的自动归档和自动解档;
5.实现字典和模型的自动转换
6.动态增加方法
7.动态变量控制
8.实现万能控制器跳转
9.插件开发
10.热更新Jspath,用于在线app热修复
但是实际的理解,还是需要结合项目实践来用,其实最常用的其实就是字典转model,以及系统方法的替换,有时候还有动态控制器的跳转。其他的还需要更多的实践才可以用到了。
![](https://img.haomeiwen.com/i15489965/01bf69fe19c69c90.jpg)