辦公室最愛的活動『訂飲料』之二

作業:#20 訂飲料 App,上傳資料到後台part 2

我們出力寫App,Peter出錢請喝飲料!再接再厲!

今天完成了從sheetDB載資料到Table View Cell,然後增加了搖晃手機亂數選飲料及統計飲料訂單金額的功能:

訂飲料進度part2(飲料統計杯數失敗,待處理)

一、新增了一個放飲料訂單用的class,命名為DrinksListViewController

  1. 增加姓名、飲料名稱等欄位的Label。
  2. 增加Table View Cell進去,Identifier命名為orderformcell。
  3. 最下面增加了一個View,裡面裝要顯示總杯數及總金額的Label。
DrinksListViewController

二、從sheetDB抓資料下來載入Table View Cell

1.為了載入飲料訂單,又到上一篇文章寫到新增的Swift File裡面新增了自訂型別,利用struct將Json所解析的物件生成所有訂單資料。

TeaData.swift自訂型別

2.DrinksListViewController寫入程式碼:得到顯示的Cell,設定Cell內容。

得到顯示的Cell,設定Cell內容

3.從sheetDB載入資料:必須注意更新UI要在Main thread處理,所以在抓取完資料後,在呼叫更新UI相關的程式時,必須要放入DispatchQueue.main.async。

載入資料

4.DrinksTableViewCell的部分。

orderformcell
DrinksTableViewCell

三、飲料總金額統計

將所有Cell裡面的飲料金額加總

待改善:飲料總杯數及載入資料時的等待動畫
顯示飲料總金額的Label

程式碼:

飲料金額加總

四、新增了亂數選擇飲料的功能

這功能真是適合有選擇障礙的人

搖晃手機選飲料

使用motionEnded(_:with:)模擬手機晃動選飲料,搭配亂數功能,搖晃手機結束之後直接用 array 亂數,隨機取出裡面的成員,再更新Picker View的飲料名稱及價錢。

motionEnded(_:with:)
OrderDrinksTableViewController裡搖晃手機選飲料

緊接著要完成下面功能:

  1. 修改訂單(撞壁中)
  2. 刪除訂單(撞壁中)
  3. 飲料杯數統計(繞圈圈中)
  4. 螢幕鍵盤收合(待完成)
  5. 載入訂單時的等待動畫(待完成)
  6. 店家地圖(待完成)
  7. 打電話給店家(待完成)
  8. UI畫面美化(看到時候心情再決定要不要做)

本來想要今天完成整個專案,看來還是無法了,進度有夠緩慢的,繼續研究,Keep going!

第一集看這裡:

參考文章:

如果有值得大家參考的地方再麻煩大家幫我拍拍手喲,謝謝大家耐心閱讀🙇‍♀️

--

--

Julia Wang
彼得潘的 Swift iOS / Flutter App 開發教室

Learning Programming , Hiking , Travels , Tour , Exploring nature 『你必須要很努力,才能看起來毫不費力』