网易严选|iOS-代码细节优化三( 二 )
避免循环引用 。 减少使用unowned ,
unowned
在值不存在时会产生运行时异常导致Crash , 只有在确定self
一定会存在时才使用unowned
。
4.减少使用可选值 。 可选值
的价值在于通过明确标识值可能会为nil
并且编译器强制对值进行nil
判断 。 但不应该随意定义可选值 , 可选值不能用let
定义 , 并且使用时必须进行解包
操作相对比较繁琐 。 在代码设计时应考虑这个值是否有可能为nil
, 只在合适的场景使用可选值 。
5.使用init
注入代替可选值
属性 , 并避免随意给予可选值默认值 。
【网易严选|iOS-代码细节优化三】6.减少var
属性 。 使用计算属性
可以减少多个变量同步带来的潜在bug(计算属性因为每次都会重复计算 , 所以计算过程需要轻量避免带来性能问题) 。
三:控制流
1.使用filter/reduce/map
代替for
循环 。 可以减少局部变量 , 减少模板代码 , 代码更加清晰 , 可读性更高 。
2.使用guard
进行提前返回 。
3.使用for where
优化循环 , 只有当where
条件满足时才会进入循环 。
这次我们先讲这么多 , 后面会继续说明 , 并且这是一个长期工作 , 以后有新的一些规范笔者也会定时更新 。
- 网易|拼夕夕针对砍价案做出了回应,之所以你砍不中,主要是由于你的手机屏幕太小
- 网易云音乐|以后听歌更方便了!网易云音乐安卓手表版曝光:多个品牌设备接入
- 网易|国外APP界面设计!交互层级感
- 网易企业邮箱三道“安全门”保障企业信息安全
- 行业认可|网易灵犀办公荣膺「年度SaaS服务企业」大奖
- 网易|丁磊回应统一充电口提案争议:绝非贸然提出、很多人有痛点
- pdf|网易「有道云笔记」Linux版上架
- 网易「有道云笔记」Linux版上架
- 网易云怎么查看自己听了多少时间
- 网易云音乐安卓版手表端软件获批