1.IOS領域課程
十分重要的UITableView
還有一樣也很重要的UICellectionView也在這週學到,為什麼這麼重要?因為幾乎所有App要顯示大量資料時都不外乎都是用這兩個View。而使用的時機就需要看App達到什麼樣的顯示效果來決定,像是相片app、instagram等巢狀cell的部分就是用UICellectionView,而像是iphone 內的設定選單,FaceBook等則是用UITableView。
也帶到swift中的Reuse機制,來讓原本大量資料需耗費需多資源時,僅先讓物件顯示部分(視窗畫面限制),而當需要顯示其他資料時(畫面滑動)重複利用物件,而非直接創建新物件來顯示,達到節省資源的效果。
初試網路連線
先前製作的APP都是自己輸入資料或是已經間裡好表單資料去顯示,但當然不可能APP只跟自己本機內的資料玩,網路連線是不可避免的,但網路資料形式眾多,如何擷取,如何解析跟顯示也是一門大學問,但這週只會先依照網路公開資料且有相對固定格式的檔案(JSON)來先做到透過網路資料更新自己的畫面,這次也是第一次嘗試用到第三方插件Alamofire(解析檔案)與 SDWebImage(圖片處理)。
Alamofire將解析網路檔案變得相對容易(Swift本身也有內建,但沒使用到,似乎相對難用),這週作業只嘗試用此插件成功擷取並解析CoinGecko的 Swagger (https://www.coingecko.com/en/api)的加密貨幣資料,但未能深入探討解析的機制跟原理,比較可惜。
作業製作過程中,曾因為解析檔案型態不同沒留意到而卡了一整個上午(Double檔案,宣告成 Int),紀錄一下避免日後再犯。
2.App產品分析
為了未來開發產品或程式設計時更能貼近或發現市場需求,本週開始都要分析現今市面上的 App或網站的核心價值和客群,並發現了或解決了哪些問題與需求。
這週我分析了我已使用了很久的記帳APP:Moze
這邊就只先簡略依照產品分析要點說明,詳細報告內容紀錄在HackMD
-
目標客群:希望養成或總是無法養成記帳習慣的人們
-
解決或滿足了什麼樣的需求:初級階段記帳無回饋感,進階記帳功能不全
-
解決的方式:完成記帳時利用畫面與震動給予反饋,囊括所有進階記帳應有功能且不斷更新優化
-
能改進的地方:少部分功能操作不直覺