知識儲備
1.1 AFNetworking 是一個輕量級的iOS 網(wǎng)絡(luò)通信類庫
1.2 AFNetworing 基于 NSOperation和NSURLConnection等類庫的基礎(chǔ)上, 讓很多網(wǎng)絡(luò)通信的功能變得更簡單
1.2.1NSURLConnection用于處理網(wǎng)絡(luò)連接? 1.2.2NSOperation是管理NSURLConnection的, 可以監(jiān)視一個網(wǎng)絡(luò)請求的生命周期.
1.3 AFNetworking 支持HTTP請求和基于REST的網(wǎng)絡(luò)服務(wù)(包括 GET / POST / PUT / DELETE 等等)
1.4 支持 ARC
NSOperation
2.1 AFURLConnectionOperation : NSOperation, 實現(xiàn)了 NSURLConnection 的代理方法
2.2 AFHTTPRequestOperation : AFURLConnectionOperation, 針對 request 使用的協(xié)議為 HTTP 和 HTTPS .
2.3 AFHTTPRequestOperationManager: 封裝了一組調(diào)用請求的方法.
iOS7.0以上的系統(tǒng)
3.1 AFURLSesstionManager: 創(chuàng)建, 管理基于 NSURLSessionConfiguration 對象的 NSURLSession 對象的類, 也可以管理 session 的數(shù)據(jù), 下載 / 上傳任務(wù), 實現(xiàn) session 和其相關(guān)聯(lián)的任務(wù)的 delegate 方法.
3.2 AFHTTPSessionManager: 封裝了一組調(diào)用請求的方法.
請求和相應(yīng)的序列化
4.1 AFURLRequestSerialization: 符合這個協(xié)議的對象用于處理請求, 它將請求參數(shù)轉(zhuǎn)換為 query string 或是 entity body 的形式, 并設(shè)置必要的 header.
4.2 AFURLResponseSerialization: 符合這個協(xié)議的對象用于驗證 / 序列化響應(yīng)以及相關(guān)數(shù)據(jù), 轉(zhuǎn)換為有用的形式, 比如: JSON 對象, 圖像, 甚至基于 Mantle 的模型對象.
4.3 AFNetworking 可以檢測當(dāng)前網(wǎng)絡(luò)的可達性.
4.4 AFNetworkingReachabilityManager: 用于監(jiān)控當(dāng)前網(wǎng)絡(luò)的可達性, 提供回調(diào) block 和 notification, 在可達性變化時調(diào)用.
提供請求的安全策略
5.1 AFSecurityPolicy: 評估服務(wù)器對安全連接針對指定的證書或公共密鑰的信任, 將你的服務(wù)器證書添加到 app bundle, 防止中間人攻擊.
AFNetworking -------- GET 請求
屏幕快照 2016-07-21 下午5.06.51.png
AFNetworking -------- POST請求
屏幕快照 2016-07-21 下午5.36.18.png
AFNetworking --------- 上傳文件
屏幕快照 2016-07-21 下午5.39.21.png
AFNetworking ---------- 網(wǎng)絡(luò)判斷