您的位置:首页 > 移动开发 > IOS开发

iOS编码需要注意的几点问题

2016-11-02 10:06 183 查看
所有逻辑判断需要添加注释说明。

所有变量、常量需要添加注释说明。

从网上拿到的数据最好先做非空转换,将数据插入数组或字典时做非空转换。

delegate 对象使用 weak,禁止使用 strong。

单一职责原则:一个类只能干一个事情,一个方法最好也只干一件事情。不允许一个方法既处理逻辑,又绘制UI。

健壮性

是否考虑线程安全

边界处理是否完整

逻辑是否健壮

是否有内存泄漏

有没有循环引用

有没有野指针

碰到添加阴影时,注意性能。

按钮独占事件要添加,防止多个按钮同时点击的情况出现。

当一个界面有push和pop的时候,两个操作相隔时间很短,一个动画未结束,另外一个动画已经开始,导致动画冲突crash,应添加如下代码

if (self.navigationController.topViewController != self){}

加载一次性大图片并且不在tableview中使用时用imageWithContentsOfFile(如新版本引导页,背景大图片等不需要一直放在应用缓存中的图片)。小图片或者在tableview中使用的图片可以用imageNamed。

注意做好单元测试,保证在页面返回时执行到dealloc方法

在做writeToFile读写操作时,记得加try catch或者线程锁,防止多线程同时修改和写入同一个文件导致Crash

页面退出时,要将定时器关闭,将通知关闭。

使用block不可以持有self,如果在block中有执行self方法或者属性,必须先将self置为weak,在block内置为strong。

在控制器回退时,如果控制器中有NSTimer倒计时,必须将倒计时关闭

子视图引用父视图时,要使用weak,不允许使用strong而导致循环引用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: