OC: AFNetworking 返回的 responseObject 是 _NSInlineData 类型?

最近闲来无事, 做了一个简单的网络请求封装, 基于 AFNetworking 的.

OC: AFNetworking 返回的 responseObject 是 _NSInlineData 类型?_第1张图片
错误的response.png

注意左边的 responseObject 的类型是 _NSInlineData 这个是无法解析的, 正常来讲我们需要的是 __NSDictionaryI 字典的类型方便我们解析使用才对.

先来说说问题的原因吧:
这个错误很大原因是因为在创建 manager 的时候,设置了

AFHTTPSessionManager *afnManager = [AFHTTPSessionManager manager];
afnManager.responseSerializer = [AFHTTPResponseSerializer serializer];   //问题所在

因为 AFNetworking 默认会将 json 数据解析,那样的话返回回调里面的 responseObject 就是一个解析过的数据,比如字典,但是如果使用了上面这个函数,那么返回的 responseObject 就是一个 NSData ,这样就会出现这个错误了。

正确的应该是:

AFHTTPSessionManager *afnManager = [AFHTTPSessionManager manager];
afnManager.requestSerializer = [AFHTTPRequestSerializer serializer];
OC: AFNetworking 返回的 responseObject 是 _NSInlineData 类型?_第2张图片
正确的response.png

你可能感兴趣的:(OC: AFNetworking 返回的 responseObject 是 _NSInlineData 类型?)