AFNetWorking(3.0)源码分析(一)——基本框架

xiaoxiao2021-02-28  62

转自http://blog.csdn.net/u013378438/article/details/51926447

框架组成

        AFNetWorking是著名的网络通信框架,今天,我们就一起分析一下该框架的组成。          将AF下载导入工程后,下面是其包结构:

          除去Support Files,可以看到AF分为如下5个功能模块:

网络通信模块(NSURLSession)网络状态监听模块(Reachability)网络通信安全策略模块(Security)网络通信信息序列化/反序列化模块(Serialization)对于iOS UIKit库的扩展(UIKit)          其核心当然是网络通信模块,其余的四个模块,均是为了配合网络通信或对已有UIKit的一个扩展及工具包。          这五个模块所对应的类的结构关系图如下所示:

          可以看到,AF的核心是AFURLSessionManager类,AFHTTPSessionManager继承于AFURLSessionManager, 针对HTTP协议传输做了特化。而AFURLResponseSerialization, AFSecurityPolicy, AFNetworkReachabilityManager则被AFURLSessionManager所用。          其次,还可以看到一个单独的UIKit包提供了对iOS UIKit类库的扩展与工具类。          那么,我们的源码分析之路,也按照这种分类,依次为  - 网络通信核心AFURLSessionManager分析  - HTTP网络通信核心AFHTTPSessionManager分析  - 网络数据的装配解析员AFURLResponseSerialization分析  - 网络状态监测员AFNetworkReachabilityManager分析  - 网络数据的组装与解AFURLRequestSerialization/AFURLResponseSerialization 分析  - 网络安全策略 AFSecurityPolicy分析  - AF提供的工具包AF UIKit的功能类分析 

转载请注明原文地址: https://www.6miu.com/read-80159.html

最新回复(0)