AFNetworking框架-详细解析
我相信學習iOS超過半年以上的同學們應該都用過這個庫,現在市場上目前大多數的app,不吹逼至少百分之98以上都用這個庫,為什么這么火呢?它提供給大家的公共方法就是那么好嗎?大家都真的了解里面的實現原理和思想嗎?難道不想進一步的知道和發掘內在的東西嗎?
我也是學習iOS的,我相信只要是抱著以后將來不說5年,3年之內還想一直干iOS的朋友,應該都想知道這個東西到底是什么!下面我們就來一一分析吧。
在github上面的stars也是居高不下的!
下面自己測試下:
一般用到最多的就是這些,那么這些是什么東西呢?
其實AFN中分為5個具體的模塊:
1 AFURLSessionManager/AFHTTPSessionManger:網絡通信模塊
2 Reachability : 網絡狀態監聽模塊
3 Security:網絡通信安全策略模塊
4 Serialization: 序列化和反序列化模塊
5 其實還有一個重大的模塊: UIKit: 對于iOS UIKit庫的擴展
這里面的核心就是:1 網絡通信模塊?
這個AFURLSessionManager? 是圍繞著 NSURLSession 封裝的,其他的都是圍繞配合它使用的一個擴展的工具包。
AFHTTPSessionManager 是繼承AFURLSessionManager ,一般的網絡請求都是用它
在AFURLSessionManager的初始化的方法中:
上面的部分代碼函數有點看不懂,接下來先看看它里面我們常用的網絡請求方法:
在這里可以清楚的看到
就直接跳進去看看到底做了些什么東西
注意了這個方法做了兩件事:
1.用self.requestSerializer和各種參數去獲取了一個我們最終請求網絡需要的NSMutableURLRequest實例。
2調用另外一個方法dataTaskWithRequest去拿到我們最終需要的NSURLSessionDataTask實例,并且在完成的回調里,調用我們傳過來的成功和失敗的回調。
好了,接下來我們先來分析下剛才第一個requestSerializer 中的request的請求方法,看看它到底做了哪些事情?
總結
以上是生活随笔為你收集整理的AFNetworking框架-详细解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MongoDB(课时30 $group)
- 下一篇: Xcode配置RunScript编译完自