详细示例代码github仓库总结:NIiOS
```
001-iOS 开发:『Runtime』详解(一)基础知识 见:有道云笔记、总结思维导图
应用案例:-proj_2020/006Runtime
002-iOS 开发:『Runtime』详解(二)Method Swizzling(动态方法交换) 见:有道云笔记、总结思维导图
应用案例:-NIiOS_GitHub/proj_2020/024YSC-Runtime-MethodSwizzling/Runtime-MethodSwizzling02
Runtime运行时系统中最具争议的黑魔法:Method Swizzling(动态方法交换) Method Swizzling四种方案:
- [x] D:优秀的第三方框架:JRSwizzle 和 RSSwizzle
- [x] C:在其他类中添加 Method Swizzling 交换方法
- [x] B:在该类的分类中添加 Method Swizzling 交换方法,但是使用函数指针的方式。
- [x] A:在该类的分类中添加 Method Swizzling 交换方法,用普通方式
Method Swizzling应用场景:(工具类待总结进入 NITools by:nixs 2020年11月23日)
- [x] 5.APM(应用性能管理)、防止程序崩溃
- [x] 4.TableView、CollectionView 异常加载占位图
- [x] 3.处理按钮重复点击
- [x] 2.字体根据屏幕尺寸适配
- [x] 1.全局页面统计功能
003-iOS 开发:『Runtime』详解(三)Category 底层原理 见:有道云笔记、总结思维导图
004-iOS 开发:『Runtime』详解(四)获取类详细属性、方法
--- 在ios 13之后