AFN解析器里的坑

Posted 一米王子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AFN解析器里的坑相关的知识,希望对你有一定的参考价值。

AFN框架是用来用来发送网络请求的,它的好处是可以自动给你解析JSON数据,还可以发送带参数的请求
AFN框架还可以监测当前的网络状态,还支持HTTPS请求,分别对用的类为AFNetworkReachabilityManager,AFSecurityPolicy

虽然AFN可以发送请求,但是里面有许多坑,
  1.你想要得到正确的JSON数据必须要:网络请求成功,服务器返回的必须是JSON 数据,自己(AFN)还能够解析,也就是说你发送的请求,返回的数据类型必须是JSON数据,而且必须以JSON结尾的数据,必须奥,因为解析器认识的数据类型只有,application/json, text/json, text/javascript
  2.AFN有三种类型的解析器,默认的是JSON解析器,还有万能的解析器,说是万能就是什么也做不了,因为它把所有的数据都返回为二进制数据,还得自己解析。
  3.最让人头疼的就是解析XML数据了,AFN也有XML的解析器,但是它返回的仅仅是个解析器还得自己解析。
 如果改变解析器类型,返回的数据类型就会改变,参照以下:
       1. JSON 解析器: 返回JSON 解析之后的数据.  ------ JSON
       2. XML 解析器:  返回NSXMLParser  ------ XML/默认是 SAX 解析.
       3. 万能解析器:  返回NSData 数据.  ----- JSON /XML /html /各种文件...
          对于文件/图片/视频/网页HTML,只能选择 万能解析器!

以上是关于AFN解析器里的坑的主要内容,如果未能解决你的问题,请参考以下文章

深度解析:为何在 SwiftUI 视图的 init 初始化器里无法更改 @State 的值?

如何查找任务管理器里的进程位置?

高手请进!任务管理器里的进程那些是可以结束不用的呢?

在设备管理器里看cpu我这不是显示12内核吗??不过我在任务管理器里写着6个内核

win10升级后蓝牙不见了,设备管理器里没有,多了个串行控制器里的未知USB设备?

[Visual Studio] 记一次排错:打不开 Nuget 包管理器里的安装package页面,无法 安装 / 恢复 包