5 AFNetworking

AFNetWorking基于系統(tǒng)NSURLConnection和NSURLSession實(shí)現(xiàn)的,也是基于CFNetWork的,AFN回調(diào)采用Block,使用方便。

自己的網(wǎng)絡(luò)庫(kù):當(dāng)?shù)谌綆?kù)發(fā)生重大更新的時(shí)候?qū)е挛覀兪置δ_亂

get請(qǐng)求的實(shí)現(xiàn)流程:

//使用代碼

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

manager.responseSerializer = [AFHTTPResponseSerializer serializer];

[manager GET:url parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {

//成功

NSDictionary *obj = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];

} failure:^(NSURLSessionDataTask *task, NSError *error) {

//失敗

}];


1當(dāng)我們調(diào)用get函數(shù)之前,我們需要?jiǎng)?chuàng)建一個(gè)AFHTTPSessionManager,在之前我們使用的一般是AFHTTPRequestOperationManager.

2在調(diào)用get請(qǐng)求后,我們一般都不需要干什么了,因?yàn)槟切┓爆崗?fù)雜的網(wǎng)絡(luò)通信都交給他去做了,他首先會(huì)調(diào)用AFNetworkReachabilityManager驗(yàn)證是否聯(lián)網(wǎng).

3然后參數(shù)序列化,用于網(wǎng)絡(luò)請(qǐng)求.

4調(diào)用AFSecurityPolicy類(lèi),AFSecurityPolicy用于驗(yàn)證HTTPS請(qǐng)求的證書(shū),簡(jiǎn)單來(lái)說(shuō)建立連接.具體建立步驟參照博客.

5連接建立完成,證書(shū)驗(yàn)證成功,開(kāi)始請(qǐng)求服務(wù)器.

6從服務(wù)器返回?cái)?shù)據(jù),解析服務(wù)器數(shù)據(jù),將數(shù)據(jù)反序列化.

7我們得到data類(lèi)型的數(shù)據(jù),可以使用JSON解析直接解析成字典使用.


在這實(shí)現(xiàn)過(guò)程中他還幫我們做了開(kāi)線程,異步下載,檢查數(shù)據(jù)是否合法,圖片解壓等一些繁瑣的事情

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容