日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

AFNetworking框架-详细解析

發(fā)布時(shí)間:2024/4/17 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AFNetworking框架-详细解析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我相信學(xué)習(xí)iOS超過(guò)半年以上的同學(xué)們應(yīng)該都用過(guò)這個(gè)庫(kù),現(xiàn)在市場(chǎng)上目前大多數(shù)的app,不吹逼至少百分之98以上都用這個(gè)庫(kù),為什么這么火呢?它提供給大家的公共方法就是那么好嗎?大家都真的了解里面的實(shí)現(xiàn)原理和思想嗎?難道不想進(jìn)一步的知道和發(fā)掘內(nèi)在的東西嗎?

我也是學(xué)習(xí)iOS的,我相信只要是抱著以后將來(lái)不說(shuō)5年,3年之內(nèi)還想一直干iOS的朋友,應(yīng)該都想知道這個(gè)東西到底是什么!下面我們就來(lái)一一分析吧。



在github上面的stars也是居高不下的!

下面自己測(cè)試下:


一般用到最多的就是這些,那么這些是什么東西呢?

其實(shí)AFN中分為5個(gè)具體的模塊:
1 AFURLSessionManager/AFHTTPSessionManger:網(wǎng)絡(luò)通信模塊

2 Reachability : 網(wǎng)絡(luò)狀態(tài)監(jiān)聽(tīng)模塊

3 Security:網(wǎng)絡(luò)通信安全策略模塊

4 Serialization: 序列化和反序列化模塊

5 其實(shí)還有一個(gè)重大的模塊: UIKit: 對(duì)于iOS UIKit庫(kù)的擴(kuò)展

這里面的核心就是:1 網(wǎng)絡(luò)通信模塊?

這個(gè)AFURLSessionManager? 是圍繞著 NSURLSession 封裝的,其他的都是圍繞配合它使用的一個(gè)擴(kuò)展的工具包。

AFHTTPSessionManager 是繼承AFURLSessionManager ,一般的網(wǎng)絡(luò)請(qǐng)求都是用它



在AFURLSessionManager的初始化的方法中:



上面的部分代碼函數(shù)有點(diǎn)看不懂,接下來(lái)先看看它里面我們常用的網(wǎng)絡(luò)請(qǐng)求方法:


在這里可以清楚的看到


就直接跳進(jìn)去看看到底做了些什么東西



注意了這個(gè)方法做了兩件事:


1.用self.requestSerializer和各種參數(shù)去獲取了一個(gè)我們最終請(qǐng)求網(wǎng)絡(luò)需要的NSMutableURLRequest實(shí)例。

2調(diào)用另外一個(gè)方法dataTaskWithRequest去拿到我們最終需要的NSURLSessionDataTask實(shí)例,并且在完成的回調(diào)里,調(diào)用我們傳過(guò)來(lái)的成功和失敗的回調(diào)。

好了,接下來(lái)我們先來(lái)分析下剛才第一個(gè)requestSerializer 中的request的請(qǐng)求方法,看看它到底做了哪些事情?

總結(jié)

以上是生活随笔為你收集整理的AFNetworking框架-详细解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。