AFNetworking acceptableContentTy
2016-03-16 本文已影响2633人
65067d1326a2
女神上午问了我一个问题。这么好的表现机会,就算不会也得说会啊。
说parameters里传nil会不会有问题。 当然不会有啊,get本来就算拼网址吗 女神无情的打了我的脸。 最后聚焦到这里然后好像服务器返回数据没有设置Content-Type: text/plain; charset=utf-8 的原因
于是我就在想为什么我没设置还是能访问呢?
后来看了AFN的源代码,AFN默认支持了一些格式,以JSON为例
JSON默认支持的Content-Type格式但是我们服务器给的text/plain; 应该不支持才对的,然而我们的APP是可以解析数据的。
又看一下网络请求部分
发现我所有的网络请求都加了这句话
这句话查了一下是让AFN不将结果序列化直接将Data放进success中,点进去看了一下
在设置serializer的时候回将acceptableContentTypes设置为nil。
acceptableContentTYpes设置为nil将不会对data序列化而我在success中对data做了序列化
所以无论我是否设置了acceptableContentTypes 都会正常显示,然而。success是在主线程中做的,这样可能会影响性能。
果然AFN将这个操作放在了子线程中操作,所以我的做法是有问题的。。。。
我觉得最好的办法是写一个manger的子类,然后在子类中设置。然而我的项目已经这样了。。。还是改源代码吧
嘛,第一次写博客,写的很乱。当日记好了。