工程
有网络请求的页面,返回时注意添加取消网络请求操作
-(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、强制性要求:在项目中往数组或字典中塞值时,以及从网上拿到数据时,都要先做非空转换