最近闲来无事, 做了一个简单的网络请求封装, 基于 AFNetworking 的.
注意左边的
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];
正确的response.png
网友评论