RunTime之零:应用场景(持续更新中...)

2020-10-31  本文已影响0人  双鱼子曰1987

一、前沿

本人是「知识」的「实用主义者」,只学习“有用”的知识。这个“有用”如何理解呢?首先自己感兴趣的,精神上得到满足;然后,对于工作有用;最好,对于现阶段人生规划和职业规划有用。
原因很简单,本人记忆力不好,记不了太多东西,不常用的总是会不经意间忘了。再者,个人精力和时间有限,特别是建立了家庭,有了小孩,然后年龄一年年大了之后,更是如此。

话说回来,本篇主旨是汇总Runtime的一些使用场景以便后续查阅

二、Runtime的使用场景

1、方法交换,即[Method Swizzling]

2、Category类别动态添加属性

3、为某个实例或者对象动态添加方法

4、未识别方法名Crash的处理

降低Crash的一个处理方式。

5、自动归档和解档(NSCoding )

6、数据与模型的ORM方案

本人最喜欢Runtime的原因之一,大大提高开发效率,想想没有ORM方案的黑暗年代。

7、私有库的私有属性或者私有方法

不建议,经常导致一些不可预知的问题,可能为未来埋大坑。

8、实现多继承

强烈不推荐使用,多继承增加很大的复杂性,给维护造成很多困难。另一方面,多继承解决的问题,都可以通过协议编程和面向接口编程解决。现在很多主流语言都是单继承的。
请即避免多继承!!!

9、热修复

例如JSPatch替换已有的OC方法实行等。
关于热修复爱的人在于能及时解决线上问题,不至于重新发包。不过现在Apple给毙了,没话说,毕竟动了蛋糕了。

10、MJRefresh的封装

为UITableView\UICollectionView\UIScrollView等统计增加下拉上拉机制。

11、主题切换或者换肤

其他

Runtime-iOS运行时应用篇
iOS 开发:『Runtime』详解(二)Method Swizzling

上一篇 下一篇

猜你喜欢

热点阅读