#139 Swift iOS App 模擬面試: random user
Published in
3 min readFeb 20, 2021
開發 iOS App 時,我們最擔心的莫過於沒有使用者。沒關係,透過 Random User Generator,我們可以產生隨機的 user,一秒鐘就可以生出 500 個 user 。
以下是這次模擬面試的功能需求,歡迎有興趣的朋友參考。
基本功能需求
- 搭配取得單一 user 的 API
https://randomuser.me/api/
- 印出 first name, last name, street number, street name。
- 資料尚未抓到時顯示 UIActivityIndicatorView。
- 點選 button 隨機 user,將 first name, last name, street number, street name 顯示在 App 畫面。
- 使用 SwiftUI 或 UIKit 製作畫面,UIKit 版本須搭配 auto layout。
- 顯示 large 的圖片。
進階功能需求
- 隨機 user 清單,照字母順序排序。
搭配以下 API 顯示 user 清單,至少顯示 user 的名字,性別,年紀和大頭照。
https://randomuser.me/api/?results=20
SwiftUI 版本: 使用 List 或 LazyVGrid。
UIKit 版本: 使用 table view 或 collection view。
- 點選 cell 後進入下一頁,顯示 user 詳細資料。
SwiftUI 版本: 使用 NavigationView。
UIKit 版本: 使用 UINavigationController。
- 網路有問題,抓不到資料時用 alert 顯示錯誤。
- 下拉更新功能。
下拉更新後將顯示新的 user 清單。
- search 功能。
在隨機 user 清單頁面加入 search 功能,比方 user 清單原本有 20 個名字,輸入 andy 後將顯示其中叫 andy 的 user 清單。
- 分頁功能。
搭配以下 API,滑到底時抓取下一頁的 user 清單顯示。
https://randomuser.me/api/?page=3&results=10&seed=abc
- 收藏功能。
- 收藏喜歡的 user,之後也可取消收藏。
- 存在 App 裡,下次啟動 App 時可看到收藏的 user 清單。
- 搭配 tab bar,第一個 tab 顯示隨機 user 清單,第二個 tab 顯示收藏的 user 清單。
SwiftUI 版本: 使用 TabView。
UIKit 版本: 使用 UITabBarController。
- 地圖功能。
點選使用者的地址後顯示地圖,在地圖上標記使用者的位置。