AFNetworking源码解读之(整体把握)
首先看下AFNetworking里面都有什么:
我们来看一个完整请求是怎样的过程,来对应看每一个类都做了什么工作。
prepare request -> send request -> processing -> recieve response -> handle response
过程看起来很简单,要做的东西可真不少。
AFSecurityPolicy AFNetworkReachabilityManager
这两个类比较独立,功能也非常明显,分别对应网络安全和网络状态监测。
按照每个类的名称可以很容易看出, AFURLRequestSerialization 是request序列化相关的,属于 prepare request 的过程。 AFURLResponseSerialization 是response序列化相关的,属于 handle response 的过程。这时候就需要补充请求和响应相关的知识了,要不然对这两个类的目标任务不太明确。
可以先看看这篇文章
AFURLSessionManager AFHTTPSessionManager 就属于 send request -> processing -> recieve response 这个过程了,并且与Session相关。有的老鸟只知道NSURLConnection,有的小鸟只知道NSURLSession,有的鸟只知道AFNetworking。这时候就需要补充相关知识了,AFN2.x 到 AFN3.x 最大改变是什么,解决了什么问题?NSURLSession 是什么东西,怎么用的?
NSURLSession 所有的都在这里(一)
NSURLSession 所有的都在这里(二)
简单看下每一个类的API,来确定它们具体做了什么工作。
这是一个简单的使用AFNetworking的例子,由此可以看出AFHTTPSessionManager是我们来进行发送和接收请求的类,那就从它开始吧。
AFHTTPSessionManager继承于AFURLSessionManager,所以再来看看AFURLSessionManager。
最后总结:AFURLRequestSerialization包装出request;AFHTTPSessionManager和AFURLSessionManager初始化出合适的task,并对请求过程进行manage和handle;AFURLResponseSerialization是对返回数据的解析;AFSecurityPolicy是网络安全的保障;AFNetworkReachabilityManager对网络状态进行监听
2024-11-30 广告