iOS開發簡記(7):網路請求模組
主流的APP都少不了跟伺服器互動,網路請求是少不了的事情。
開源的網路請求庫,有很多,比如:AFNetworking、YTKNetwork、PPNetworkHelper、ASIHttpRequest,等等。
這裡記錄AFNetworking的使用。
(1)安裝afnetworking
跟使用QMUIKit一樣,小程以cocoapods的方式來引入AFNetworking。
先用pod命令來查詢AFNetworking的最新版本:
pod search AFNetworking
查詢結果如下:
在Podfile中,加入上圖紅框的內容,如下:
在podfile所在目錄,執行:
pod install
安裝完畢,在目標專案內可以看到afnetworking的身影,比如:
(2)使用afnetworking
對於afnetworking的使用,可以參考“官方”網站:https://github.com/AFNetworking/AFNetworking
這個網頁的Usage部分,詳細介紹了afnetworking的使用(包括對網路狀態的監聽、上傳下載、資料請求等等),還提供了演示程式碼,但是注意這裡的介紹有可能跟不上afnetworking的版本(afnetworking一直在升級)。
小程使用afn的一個示例是這樣的:
以上使用了manager的GET方法,這個方法是非同步請求,事實上,afn的請求都是非同步的。
在某些場景,或在某些程式碼實現上,同步請求會更方便控制,為了使用同步請求,可以考慮這個開源專案:https://github.com/paulmelnikow/AFNetworking-Synchronous
同樣可以用pod來引入這個同步afn的專案(比如對於afnetworking3.x版本):
pod 'AFNetworking-Synchronous/3.x'
然後按這個專案介紹的那樣,進行同步請求:
最後提一下,對於請求返回的json資料,afn已經做了解析(一般解析成dictionary)。如果想單獨處理json資料,可以使用MJExternsion這個開源庫,可以這樣安裝:
pod 'MJExtension', '~> 3.0.15.1'
使用上,請參考https://github.com/CoderMJLee/MJExtension
本文演示的APP的原始碼:
https://github.com/crazy0363/sound-show-zhiyin
本APP已上架AppStore,歡迎您使用。地址:https://itunes.apple.com/cn/app/%E5%A4%A9%E6%B6%AF%E4%BD%95%E5%A4%84%E8%A7%85%E7%9F%A5%E9%9F%B3/id1439297254?mt=8&from=groupmessage&isappinstalled=0
或在AppStore搜尋“覓知音”或“天涯何處”,下載安裝。