今天就來裝個套件、串個接口、轉個模型、秀個資料
雖然原生就有提供URLRequest等等與網路交互的方法
不叫我想還是會有很大一部分的人選擇使用Alamofire
他是Swift最多星的套件
定位就跟Flutter的Dio一樣☘️☘️☘️
Swift專案安裝套件的方式是
在文件目錄選擇專案檔>選擇專案>選擇第三個tab: 'Package Dependencies'
然後點+這個按鈕會出現以下畫面
然後我以為在右上角可以直接搜到Alamofire
結果它只能搜左邊collections的內容
好吧
當我要找有哪些collection source時
竟然找不到半個可用的!
不像Flutter有官方的pub.dev⚠️⚠️⚠️
後來找了好久終於找到這篇文
裡面有提到三個網站
最可惜的是Swift Package Index
它雖然有提供每個作者生成collection
但它竟然沒有整個網站的collection
只做半套...殘念啊...
API是使用跟當年寫Flutter系列文一樣的XD:https://reqres.in/api/users?per_page=100
但人事已非,每個人都換頭貼了XD
而code也很簡單
跟以前UIKit時代不一樣的是:不用再call tableView.reloard()了
(也不用像Flutter一樣要call setState哈哈⚠️⚠️⚠️)
強力推薦使用quicktype產生model的code
在Swift,如果要跟Json互轉,必須Conform Codable
然後如果要改屬性的key,則要用到CodingKeys來去mapping
最後就是用state判斷有無資料來做不同的畫面呈現
講個題外話
上傳到YT的影片,最後一秒會被剪掉變成推薦影片
然後Simulator內建的錄影功能,如果畫面一直不動,他會幫你把靜止的部分裁掉
這兩位聯手的結果就是讓各位看不到所有頭貼出現畫面= =
最後我乾脆桌面錄影
Android版:iOS Developer Learning Android. Lesson 18 - call API (使用超越AFNetworking的網路套件)
Flutter版:iOS Developer Learning Flutter. Lesson17 API GET
https://github.com/mark33699/FDLS