iOS开发知识小集

iOS 开发小问题锦集

2019-04-04  本文已影响59人  西门吸雪

一、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
    }

上一篇 下一篇

猜你喜欢

热点阅读