AFNetWorking這個孩子大家都不陌生,他很小但很實用,很多人都喜歡他。這篇文章那,是對這個孩子進行一個初步的認識,隨著我和他關(guān)系的深入,我相信可以全面理解噠。
先來張他得照片把:

AFURLSessionManager
它是這孩子最核心的地方了,功能強大,管理著眾多的網(wǎng)絡(luò)任務(wù),下載啊,上傳啊... 考慮到實用性,這孩子還特意創(chuàng)建了一個繼承自AFURLSessionManager的子類,叫做AFHTTPSessionManager。通過這個類啊,我們可以進行常用的GETPOST網(wǎng)絡(luò)請求,很體貼吧!當(dāng)然,如果要進行單純地下載和上傳工作,就用它的父類AFURLSessionManager吧。AFURLRequestSerialization
它啊是一個協(xié)議,里面還定義了幾個類,可以看一下它的照片。它可以將請求的參數(shù)按照不同的形式進行編碼,還能定義請求頭的類型。AFURLResponseSerialization
它啊和上面那位差不多,也是個協(xié)議,里面定義了好幾個類,同樣看一下孩子的照片吧。服務(wù)器返回的數(shù)據(jù)有很多種呢,不同的類型要用不同的方式解碼嘛~
對了,這兩兄弟主要是針對AFHTTPSessionManager來說的,不過AFURLSessionManager也有一個關(guān)于 response 的屬性。AFSecurtiyPolicy
這個模塊,哈哈,我不怎么了解,和證書驗證相關(guān)的,還沒用過呢,等以后用到了再來補充。AFNetWorkReachabilityManager
這個模塊是用來監(jiān)測網(wǎng)絡(luò)連接狀態(tài)的,我們AFURLSessionManager已經(jīng)定義了和這個相關(guān)的屬性,可以看小伙子的照片,當(dāng)然你也可以自己創(chuàng)建一個來監(jiān)測,比如:
AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
[manager startMonitoring];
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusUnknown:
NSLog(@"Unknown");
break;
case AFNetworkReachabilityStatusNotReachable:
NSLog(@"NotReachable");
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
NSLog(@"ViaWWAN");
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
NSLog(@"ViaWiFi");
break;
}
}];
用這個 block 比較好拉,如果直接在APP啟動的時候就判斷,可以會返回 unknown啦。
最后:這篇文章就是用來認識這個孩子的拉,代碼不一定要全部看懂,但要對他有個淺淺的全面的認識,有助于在腦中形成這個孩子的印象啦,好啦,拜~