#79 iOS App 網路資料下載時該注意的 13 點功能細節

網路資料下載是滿多初學者在學習 iOS App 開發和準備面試作品時很重要的功能,有興趣的朋友也可以參考文章裡的說明,練習在串接第三方 API 時做到這些上架 App 應該注意的功能 & 細節。

1 抓取後台資料,解析 JSON,顯示在 table view 或 collection view 上。點選 cell 後再切換到下一頁顯示詳細資料。
2 抓取資料時不會卡住 UI,畫面還是能流暢操作。
3 正在抓資料時畫面顯示下載中,比方利用 activity indicator view。
4 圖片尚未抓到時,顯示預設的圖片或顏色。
5 滑動 table view 或 collection view 時,圖片不會閃動或顯示錯誤的圖片。
6 處理沒有網路連線的情況,比方以下 IG App 的畫面。

可開啟手機的飛航模式測試無網路的情況。

7 找不到資料時,顯示無資料的畫面。
8 抓資料遇到其它問題時,顯示相關錯誤訊息。
9 下拉更新功能。(pull to refersh)
10 滑到底下載更多資料的分頁功能。(load more)

可串接一些支援分頁功能的第三方 API,比方以下 News API 搭配的參數 page。

其它第三方 API 參考。

Google 搜尋關鍵字建議。

swift table load more
11 資料暫存的 cache 功能。

暫存抓取過的資料,比方下次在沒有網路的火星打開 App 時還是看得到之前的資料。

12 使用較好的程式架構編寫網路程式。

有許多不同的寫法,比方初學者可先學習 Apple 教學範例和芝加哥大學 iOS 課程投影片介紹的方法,將網路相關程式寫在一個單獨的類別裡。

Apple 的 App Development with Swift 教科書內容
芝加哥大學 iOS 課程投影片
13 搭配不同的資料內容,cell 高度不固定或是搭配不同的 cell 樣式。

可參考 FB,LINE 的聊天訊息 & 動態頁面。


練習:

實作一個 App,包含以上 13 點網路資料下載的功能 & 細節。