本文共 1605 字,大约阅读时间需要 5 分钟。
AFNetworking中可以设置AFJSONResponseSerializer对象的removesKeysWithNullValues属性为YES,使AFNetworking自动清除请求结果中NSNull对象,这个功能比较强大,它是分析json之后做的清除操作,原类型为字符串的话转换为@“”,原类型为字典或数组的话转换为nil,代码如下(这是阳关欣晴CNNetworkProxy类中的代码片段):
AFJSONResponseSerializer *response = [[AFJSONResponseSerializer alloc] init];
response.removesKeysWithNullValues = YES;
项目开始前要和后台商量好,不能有空对象,即null,一律用默认值。
java中没有nil,java中用null表示空对象,转son后在转为oc则变为oc的空对象NSNull;oc中nil表示对象指向空,Nil表示类指向空;
苹果提供两种压缩函数,jpeg函数压缩出来的图片比较小,png函数压缩出来的图片说不定比原来的还要大,因为苹果做了一些处理,加入了一些安全数据
NSString没有longValue这个属性,只有longLongValue属性,NSString使用longValue编译不报错,但是运行时出错,而其它类型的对象同时可以使用longValue和longLongValue属性,所以为了避免不必要的错误,一律使用longLongValue属性
NSString属性不能用weak修饰,在ios8时weak型的NSString传值是失败的,因为父控制器中的字符串已经释放,weak型字符串就指向空了;在iosx操作系统中都是错误的,但是其它系统自动修正了这个错误。
对于@property (nonatomic, copy) NSString *uid;类型的属性其设置函数应该如下:
- (void)setUid:(NSString *)did
{
_uid = [uid copy];//copy必须有,否则只是strong修饰的属性
}
copy修饰的属性必须这么写才能做到真正的 copy,否则只是相当于strong修饰的属性
[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];
自定义cell的设置背景色应该对self.contentView设置,对self设置不起作用
在xib中设置scrollView的keyboard属性为Dismiss on drag,即可使的scrollView滚动时自动收起键盘。
转载地址:http://pdwvb.baihongyu.com/