一、NSJSONReadingOptions三个选项的区别和含义
1、NSJSONReadingMutableContainers = (1UL << 0),
2、NSJSONReadingMutableLeaves = (1UL << 1),
3、NSJSONReadingAllowFragments = (1UL << 2)
第一个是:指定数组和自定创建可变的对象,就是使用指定数组和自定义的可变对象来接收。
第二个是:指定返回json对象内部的字符串为可变字符串的实例,通俗来讲就是字面意思,不多解释。
第三个是:指定解析的时候允许最外层(最顶层)的对象可以不是一个数组或字典对象也是可以的。通俗来讲就是自定义接收类型。
以上三种根据自己的需求去使用就行。
二、如何接收服务器通过AFN失败的回调返回的信息。
在失败的回调里面使用,下面的options就是上面问题的是哪个选项的解释。
if ([error.domain isEqualToString:AFURLResponseSerializationErrorDomain]) {
id response = [NSJSONSerialization
JSONObjectWithData:error.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] options:0 error:nil];
// response中包含服务端返回的内容
} else if ([error.domain isEqualToString:NSCocoaErrorDomain]) {
// server throw exception
} else if ([error.domain isEqualToString:NSURLErrorDomain]) {
// network error
}
网友评论