应该注意的地方

工程 
有网络请求的页面,返回时注意添加取消网络请求操作  
-(void)addCancalHttp; 
网络请求判断步骤: 
一、 网络连接失败 
异常流提示:网络连接失败,请稍后重试! 
二、 网络连接正常 
1、 判断原始数据responseData是否为空(抛异常时异常流应为返回数据异常) 
2、 转json格式[jsonResult chJSONValue],判断json是否为空(抛异常时异常流应为数据解析失败) 
3、 判断数据类型,如NSDictionary, NSArray,(抛异常时异常流应为数据格式不正确) 
4、 判断NSDictionary, NSArray是否有数据,(抛异常时异常流应为没有数据) 
5、 如果为NSDictionary判断ifSuccess是否等于@”Y”,如果为@”N”时,异常流要用后台返回的description 
6、 解析数据,返回

常规 
1,创建NSDictionary NSArray 元素非空判断 
2,NSArray 数组越界 
3,发送消息 数据类型不正确 (常出现在后台返回数据) 
4,碰到添加阴影时,注意性能  
5、自己添加缓存数据时,注意增加版本号 
6、修改任何公共的模块,要注意问一下当时做这个模块的人 
7、按钮独占事件 
8、当一个界面有push和pop的时候,两个操作相隔时间很短,一个动画未结束,另外一个动画已经开始,导致动画冲突crash,应添加如下代码  if (self.navigationController.topViewController != self)  
9、加载一次性大图片并且不在tableview中使用时用imageWithContentsOfFile(如新版本引导页,背景大图片等不需要一直放在应用缓存中的图片)。小图片或者在tableview中使用的图片可以用imageNamed 
10、代理只能用weak,不能用assign和strong 
11、数组中循环删除多条数据时,不能使用for(in) 
12、在异步线程中不要做任何与UI相关的操作,与UI相关的操作都放进主线程中 
13、强制性要求:在项目中往数组或字典中塞值时,以及从网上拿到数据时,都要先做非空转换

 
原文地址:https://www.cnblogs.com/MyBlogZH/p/5760116.html