OC轉swift3.0 實踐 (三)網絡層初探

通過API獲取到的數據.png

如上圖是此次的效果圖,在這先聲明,此次的數據是從API那邊獲取再渲染上去的,并不是像OC轉swift3.0實戰 (二)使用自定義cell的tableview那樣直接把數據寫死,畢竟二那邊只是UI,今天要說的網絡層是在二的基礎上繼續的下一步,下面進入正題。
首先,我們會想到OC有幾個強大的第三方庫,網絡請求AFNetworking,JSON處理用JSONModel,YYModel,MJExtension等,我有幾個朋友換了公司,項目用Swift,但里面還是通過橋文件用的AFNetworking ,這我聽著都尷尬,搞得我強迫癥都犯了。后來查詢了下資料,發現對于Swift的網絡請求,AFNetworking的“爸爸”也早就給他搞了個弟弟——Alamofire,沒錯,兩個庫都是出自同一個人之手。


對于JSON處理方面,在Swift界有個大名鼎鼎的庫SwiftyJSON,但是這個庫也不是那么完美,原因如下:

1.SwiftyJSON 可以不建Model,無限得用JSON["xxx"]["yyy"]["zzz"]......,這對于后臺返回的JSON數據少的話也許是件好事,但如果后臺返回的數據一層套一層呢?字典里面有數組,數組里面又有字典.....想想也是酸爽,而且這樣對于日后不管是自己維護還是他人接手,都是一件相當蛋疼的問題,誰也不能保證后臺的數據結構發生變化,代碼的可讀性也是很重要的。
2.既然不建Model不怎么合適,那我建一個不就行了嗎?不好意思!SwiftyJSON只能幫你解析成json數據,但它還不能幫你自動映射到Model中去

那么接下來該怎么辦呢?
不急,Model肯定是要建的,現在的問題是找一個能幫SwiftyJSON忙的,幫它把解析出來的json數據映射到Model中去。那么 HandyJSON就登場了。它就是來幫SwiftyJSON忙的。關于它的的用法和身世啥的可以參考這篇文章
最后,我給出了一套適合自己的網絡層套餐

Alamofire+ SwiftyJSON+ HandyJSON,

關于具體在項目中怎么結合使用,請看OC轉swift3.0實戰 (四)網絡層實操

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,255評論 4 61
  • 轉載自:https://github.com/Tim9Liu9/TimLiu-iOS 目錄 UI下拉刷新模糊效果A...
    袁俊亮技術博客閱讀 11,975評論 9 105
  • 1 隆冬夜,大雪紛飛,地面安靜而寒冷。 三只狗崽就在這個冬天降臨在一戶人家陰寒的冷灶邊,寒冷的水滴自雪水融化,接連...
    麻繩先生閱讀 792評論 2 20
  • 上次作業讀到賈旭同學的文章,將其復盤操作拿來用。 1,不在同一坑里跌倒,避免重復犯錯; 坑1:做波段 貿然闖進區塊...
    李雙男閱讀 207評論 2 0
  • 今天早晨一個不小心,脫襯衣的時候把手腕上的鐲子帶下來,掉在地上摔成了好幾個碎片。 這是一只白色的玉鐲,外觀較市面上...
    海上羅蘭閱讀 899評論 8 2