AFNetworking源码探究

AFNetworking源码探究(十) —— 数据解析之数据解析

2018-03-01  本文已影响79人  刀客传奇

版本记录

版本号 时间
V1.0 2018.03.01

前言

我们做APP发起网络请求,都离不开一个非常有用的框架AFNetworking,可以说这个框架的知名度已经超过了苹果的底层网络请求部分,很多人可能不知道苹果底层是如何发起网络请求的,但是一定知道AFNetworking,接下来几篇我们就一起详细的解析一下这个框架。感兴趣的可以看上面写的几篇。
1. AFNetworking源码探究(一) —— 基本介绍
2. AFNetworking源码探究(二) —— GET请求实现之NSURLSessionDataTask实例化(一)
3. AFNetworking源码探究(三) —— GET请求实现之任务进度设置和通知监听(一)
4. AFNetworking源码探究(四) —— GET请求实现之代理转发思想(一)
5. AFNetworking源码探究(五) —— AFURLSessionManager中NSURLSessionDelegate详细解析(一)
6. AFNetworking源码探究(六) —— AFURLSessionManager中NSURLSessionTaskDelegate详细解析(一)
7. AFNetworking源码探究(七) —— AFURLSessionManager中NSURLSessionDataDelegate详细解析(一)
8. AFNetworking源码探究(八) —— AFURLSessionManager中NSURLSessionDownloadDelegate详细解析(一)
9. AFNetworking源码探究(九) —— AFURLSessionManagerTaskDelegate中三个转发代理方法详细解析(一)

回顾

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

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


数据解析的类和协议

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

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


数据解析的架构设计

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

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

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

后记

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

上一篇 下一篇

猜你喜欢

热点阅读