iOS開發簡記(7):網絡請求模塊

主流的APP都少不了跟服務器交互,網絡請求是少不了的事情。

開源的網絡請求庫,有很多,比如:AFNetworking、YTKNetwork、PPNetworkHelper、ASIHttpRequest,等等。

這裏記錄AFNetworking的使用。

(1)安裝afnetworking

跟使用QMUIKit一樣,小程以cocoapods的方式來引入AFNetworking。

先用pod命令來查找AFNetworking的最新版本:

pod search AFNetworking

查找結果如下:
pod查找afnetworking的版本

在Podfile中,加入上圖紅框的內容,如下:
在podfile中添加afnetworking

在podfile所在目錄,執行:

pod install

安裝完畢,在目標項目內可以看到afnetworking的身影,比如:
xcode中的afnetworking

(2)使用afnetworking

對於afnetworking的使用,可以參考“官方”網站:https://github.com/AFNetworking/AFNetworking

這個網頁的Usage部分,詳細介紹了afnetworking的使用(包括對網絡狀態的監聽、上傳下載、數據請求等等),還提供了演示代碼,但是注意這裏的介紹有可能跟不上afnetworking的版本(afnetworking一直在升級)。

小程使用afn的一個示例是這樣的:
使用afn

以上使用了manager的GET方法,這個方法是異步請求,事實上,afn的請求都是異步的。

在某些場景,或在某些代碼實現上,同步請求會更方便控制,爲了使用同步請求,可以考慮這個開源項目:https://github.com/paulmelnikow/AFNetworking-Synchronous

同樣可以用pod來引入這個同步afn的項目(比如對於afnetworking3.x版本):

pod ‘AFNetworking-Synchronous/3.x’

然後按這個項目介紹的那樣,進行同步請求:
使用同步afn

最後提一下,對於請求返回的json數據,afn已經做了解析(一般解析成dictionary)。如果想單獨處理json數據,可以使用MJExternsion這個開源庫,可以這樣安裝:

pod ‘MJExtension’, ‘~> 3.0.15.1’

使用上,請參考https://github.com/CoderMJLee/MJExtension


keep simple

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章