前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AFNetworking源码探究(十) —— 数据解析之数据解析架构的分析

AFNetworking源码探究(十) —— 数据解析之数据解析架构的分析

原创
作者头像
conanma
修改2021-09-03 17:58:09
3930
修改2021-09-03 17:58:09
举报
文章被收录于专栏:正则正则

回顾

我们先看一下我们前几篇都做了什么,前几篇以GET请求为例,详述发起网络请求的过程,然后,讲述了AFURLSessionManager中实现的NSURLSession的几个苹果原生的代理。最后,讲述了AFURLSessionManagerTaskDelegate中的三个转发的代理。从这篇开始讲述从网络请求回数据的解析。

本篇主要讲述AFN中response数据解析的架构处理。


数据解析的类和协议

关于数据解析的类和接口,都存在AFURLResponseSerialization这个文件中,我们首先看一下这个文件中有多少类,以及它们是什么关系的。

  • @protocol AFURLResponseSerialization <NSObject, NSSecureCoding, NSCopying>
  • @interface AFHTTPResponseSerializer : NSObject <AFURLResponseSerialization>
  • @interface AFJSONResponseSerializer : AFHTTPResponseSerializer
  • @interface AFXMLParserResponseSerializer : AFHTTPResponseSerializer
  • @interface AFXMLDocumentResponseSerializer : AFHTTPResponseSerializer
  • @interface AFPropertyListResponseSerializer : AFHTTPResponseSerializer
  • @interface AFImageResponseSerializer : AFHTTPResponseSerializer
  • @interface AFCompoundResponseSerializer : AFHTTPResponseSerializer

一共这么多的类和协议,看到这里很清楚了吧,父类是AFHTTPResponseSerializer,遵守协议AFURLResponseSerialization,其他的类都继承这个父类,可以看这张图更清晰些。


数据解析的架构设计

AFN中对数据解析的架构是如何进行设计的呢?

从大的方面来讲,就是一个父类继承协议,其他类继承这个父类,根据解析数据类型不同,都实现了它们父类遵守的协议,进行数据解析。

这个架构,大家是可以进行学习和了解的。

后记

本篇主要介绍了AFN中数据解析文件AFURLResponseSerialization的类和协议,介绍了他们之间的关系,并分析了进行数据解析的架构。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 回顾
  • 数据解析的类和协议
  • 数据解析的架构设计
  • 后记
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档