AFNetworking 原始碼分析(一)
AF主要分為以下5個模組:- 網路通訊模組(AFURLSessionManager、AFHTTPSessionManger)
- 網路狀態監聽模組(Reachability)
- 網路通訊安全策略模組(Security)
- 網路通訊資訊序列化/反序列化模組(Serialization)
- 對於iOS UIKit庫的擴充套件(UIKit)
其中的核心是AFURLSessionManager。 AFURLSessionManager主要是對NSURLSession的封裝,AFHTTPSessionManager是繼承AFURLSessionManager,這個類並沒有做什麼,主要是做了一些簡單的封裝,最終請求都是分發給了父類去做。
首先我們簡略的分析一下一個網路請求的流程是怎樣的:
- 第一步,我們將請求的url,引數編碼成我們請求時需要的request,在AF中這個主要是由AFURLRequestSerialization來做。
- 第二步,我們就要開始發起請求,在AF中這個主要是由AFURLSessionManager來做。
- 第三步,請求成功後對返回的資料進行處理,在AF中這個主要是由AFURLResponsesSerialization來做。