一,经历

1> 在编写以前有过的类似的新功能时,如果以前的开发人员没有写明明确的注释和开发需求,一定要仔细阅读所有代码,每一句代码都有它存在的意义.

2> 例如,只以为是[self.fullscreenVideoController.giftView setBamboosText:[[GetAppDelegate userAccount] bamboos]];获取 xx 数的有用代码,而实际上,前辈们的代码中还有一句话[[GetAppDelegate userAccount] updateBamboos];来更新当前的 xx 数,以防有变.

3> 不错的判断是否是6p 的宏定义

 #define IPHONE6S_HEIGHT 667
#define iPhone6P (SCREEN_HEIGHT > IPHONE6S_HEIGHT)

4> 一定要判断是否执行了控制器的 dealloc 方法.防止有强引用没有释放掉.很多移除通知接收者/移除观察者的代码一般都喜欢写在dealloc 里面.

  可以在 viewdiddisappear 等方法中读取当前的对象self的引用个数

查看方法如下:

 NSLog(@"Retain count is %ld", CFGetRetainCount((__bridge CFTypeRef)self));

二,经验总结

1> 一定要读懂前辈们写的每一句代码,每一句代码都有它存在的意义.以免在新旧人员交替后造成意想不到的 bug.

2> 最好只连线 storyboard 的IBOutlet属性,对属性使用 addtarget 代替连线 IBAction.方便快速删除 storyboard 上的控件.(属性可以为空,但是方法不能不存在)

最新文章

  1. 豆芽儿 - 高端IT人才成长社区 上线啦!
  2. 格式化时间(SimpleDateFormat)
  3. 开始学习IOS
  4. (总结)CentOS Linux下VNC Server远程桌面配置详解
  5. linux_根据关键词_路径下递归查找code
  6. 用c#实现与飞环语音卡的交互
  7. Docker 基础 : 网络配置
  8. android 在代码中使用 #ffffff 模式 设置背景色
  9. date()中的getYear的小问题
  10. c#使用GDI+简单绘图(二)
  11. Kubernetes 网络排错指南
  12. js中三种弹出框
  13. 记JS一个错误,
  14. Codeforces.1110E.Magic Stones(思路 差分)
  15. springboot-async
  16. Halcon 之dyn_threshold与threshold区别与用法
  17. 小睿开始呼叫用户,然后FS怎么跟用户交互的整个流程原理
  18. AngularJS如何编译和呈现页面
  19. 常用工具说明-- Intellij Idea生成JavaDoc
  20. [k8s]容器化node-expolore(9100)+cadvisor(8080)+prometheus(9090) metric搜集,grafana展示

热门文章

  1. 【stut 逆置正整数】
  2. Oracle Segments可以跨多个data files吗?
  3. PHP导出Excel一个方法轻松搞定
  4. hdu 4293 2012成都赛区网络赛 dp ****
  5. CentOS 6.5下samba服务器搭建与配置
  6. Tips for OpenMesh
  7. MongoDB3.0新特性
  8. 通信原理实践(二)——幅度调制
  9. RedHat5.1下安装Seismic Unix44R1
  10. 03_Java面向对象特征: 封装性