標籤:
好長時間沒有進行更行了,最近學到AFNetworking架構,在學習完成之後做出一個總結 1.第三方網路的架構
AFNEtworking使用簡單,對最新的iOS特性都有很好的支援,對NSURL進行了封裝,把系統中比較複雜的方法,整成了比較簡單的
ASIHTTPRequest(已經停止更新了) 這個架構對CFNetworking網路架構進行封裝,效能、可擴充性比較高,但是已經停止了更新,對最新的iOS的相容性不是很高,所以用的很少
MKNetworkKit 相對於AF比較輕量級,使用也是相當簡單
2.AFNetworking
它是對NSURLConnection網路的組件進行了封裝,在iOS7以後,AFNetworking對NSURLSession進行了網路組件的封裝
Github地址,這個是它的,在下載之前應該看看相關的文檔,在如今的開發中cocoapod的使用也多,所以希望能從cocoapod上進行下載
至於怎麼安裝cocoapod的安裝,網上有很多的相關的教程,可以自己去百度去看看,推薦看看這個http://www.jianshu.com/p/3f6bbe3130cc
3 AFNetworking相關的類
NSURLConnection 核心的網路的請求
NSURLSession 針對iOS7以後的背景工作
Rechability 用於檢測網路裝填的變化,可以在不同的網路環境中進行不同的caozuo。
Serialization 可序列化 {對Request和Response對象封裝}
Security 針對SSLpinning的封裝,用於通訊的安全
4 網路相關的下載、上傳操作
AFHTTPSessionManager:用於管理網路請求、下載、上傳等物
下載檔案操作
上傳檔案操作
在AFHTTPSessionManager,使用mananger類方法建立,不支援背景下載、上傳
如果需要進行背景下載可以通過以下的方式進行實現
5.AFHTTPRequestSerializer
在用戶端中,提交給伺服器的資料格式主要有:拼接 ,JSON
AFHTTPRequestSerializer :&拼裝格式
AFJSONRequestSerializer :JSON資料格式
他們兩個的關係是
6AFUELResponseSerialozation
伺服器返回的資料格式主要有兩種JSON和XML
AF封裝了相應的類對返回資料的解析
AFHTTPResponseSerializer:不解析資料
AFJSONRESponseSerializer:解析JSON資料格式
AFXMLParserResponseSerializer: 解析XML資料格式
三者的關係是
7通過AFHTTPSessionManager對象佈建要求、返回資料格式
AFNetworkingReachabilityManager用於監聽網路狀態、網路類型
實現代碼如下
8UIKit的網路擴充
AF為一下類提供了一組Category方法,用於網路的請求
iOS網路編程總結