3.YYModel 性能优化的几个 Tip
第一:Key-Value Coding 使用起来非常方便,但性能上要差于直接调用 Getter/Setter,所以如果能避免 KVC 而用 Getter/Setter 代替,性能会有较大提升。
第二:如果能直接访问 ivar,则尽量使用 ivar 而不要使用 Getter/Setter 这样也能节省一部分开销。
第三:使用纯 C 函数可以避免 ObjC 的消息发送带来的开销。如果 C 函数比较小,使用 inline 可以避免一部分压栈弹栈等函数调用的开销。
第四:在 JSON 和 Model 转换前,Model 的属性个数和 JSON 的属性个数都是已知的,这时选择数量较少的那一方进行遍历,会节省很多时间。
最后的总结:其实大部分总结内容都来自github,和https://blog.ibireme.com/2015/10/23/ios_model_framework_benchmark/,正是这么多的优化,才有了YYModel的高性能,希望大家能多看一下源码是如何做的,对我们来说也是一个提高