AFNetworking是很多公司网络框架的标配,其基本的结构如下:
AF包括以下五个模块
网络通信模块(NSURLSession) 网络状态监听模块(Reachability) 网络通信安全策略模块(Security) 网络通信信息序列化/反序列化模块(Serialization) 对于iOS UIKit库的扩展(UIKit)
核心主要是通信模块,其他模块只是为了配合session以及对uikit的扩展,各个模块的关系如下:
AFNetworking模块结构图
好了,现在我们通过AF的基本使用来分析每个模块:
以最基本的GET请求为例,主线程创建请求->子线程发送网络请求->子线程处理请求->子线程请求结束->子线程请求回调->主线程处理回调