[iOS] 写代码的小技巧

目录:

  1. podspec文件如果引入了其他模块引入的库也要声明
  2. 存储用户related数据
  3. NSDictionary的value为nil会crash要注意哦
  4. 永远不要依赖后端的数据不为空
  5. 注意加log
  6. 一件nil的小事

1. podspec文件如果引入了其他模块引入的库也要声明

如果很多人做好多个模块,可能我们自己的模块依赖了其他组引入的某个库,那么如果我们也需要在自己模块的podspec里面声明依赖了这个库哦,不能直接用了人家引入的不声明,因为如果他们团队之后不用了,那么我们也就没有啦~


2. 存储用户related数据

如果需求是对一个用户显示不超过多少次,用user default存储的时候可以让key为【用户id】+【key标识】,这样每个用户就不一样啦


3. NSDictionary的value为nil会crash要注意哦

任何时候用NSDictionary的时候都要注意一定不要让value可能为nil,否则百分百会crash,埋点神马的都要小心啊,这种特别容易nil。


4. 永远不要依赖后端的数据不为空

不要过度相信后端返回的数据一定是对的,写代码的时候要确保即使后端传的是错的你不会crash哦。


5. 注意加log

有些不方便调试,或者如果线上出了不好复现的问题可以有帮助的地方最好加一下log,例如网络请求的返回结果 & 自己对象的状态改变。这样找为啥的时候会好很多~ 至少能少走点儿弯路。


6. 一件nil的小事

这个源于我朋友的一个问题,为啥每次block里面都先判断strongSelf再往下走呢?

其实我们也知道对nil发消息也不会crash的,那为啥还要判断nil呢?因为你不知道别人会在block里面做啥或者加啥

比如如果给Dictionary设值nil、KVO的key用nil都会crash的,所以用key的时候一定要小心不要传入nil哦~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git 规范 所有使用了本规范的项目,必须严格规范操作,否则不予以合并代码、提测、打包上线等后续操作。 基本要求 ...
    zgsddzwj阅读 13,775评论 1 14
  • 目录 SourceTree简介 SourceTree基本使用 SourceTree&Git部分名词解释 相关连接推...
    Charming_Zhang阅读 4,603评论 2 4
  • 1.如何追踪app崩溃率,如何解决线上闪退 当 iOS设备上的App应用闪退时,操作系统会生成一个crash日志,...
    中娅沙漏阅读 595评论 0 5
  • 父母规 1)从此刻起: 我要多鼓励、赞美孩子, 而不是批评、指责、埋怨孩子。 因为我知道只有鼓励和赞美才...
    朝霞一般阅读 80评论 0 0
  • 【江湖说️学习日记】 [打卡宝宝]:洋芋. [打卡日期]:2019/01/10 [累计坚持]:这是我坚持学习的第5...
    洋芋g阅读 346评论 0 0