#17 訂飲料 APP | part 2: 從APP 新增訂購項目到 Airtable
使用功能
airtable API Post 新增資料
利用 Notification 傳資料
功能介紹
airtable API Post 新增資料
在 airtable 上新增一個清單並設定需要上傳的項目,包含飲品名稱、溫度、甜度、尺寸、加料、數量、價格、圖片的 URL
讀取 API 內容來看需要定義的資料型別
定義上傳資料的 function,HTTP Method 為 POST,上傳成功後印出上傳的資料,失敗則印出 error
按下 “加入訂單” 鍵後跳出確認視窗,按下確認後將資料上傳至 airtable,並將資料儲存在繼承 OrderDetail 的 Order,呼叫 Navigation Controller 的 Pop 返回前一頁
struct Order: Codable {
var orders: [OrderDetail.Field]
init(orders: [OrderDetail.Field] = []) {
self.orders = orders
}
}
參考:
利用 Notification 傳資料
此功能應用在當確認一筆訂單後,TabBarItem 的 Badge Value 就會多跳 1,顯示目前有幾筆訂單
利用 didSet,當 Order 的資料有更動時,呼叫 NotificationCenter,因此啟動時機點就在確認訂單的視窗中,按下確認鍵時,Order 就會新增一筆資料,此時就會呼叫 NotificationCenter
呼叫 NotificationCenter 後會通知兩個地方,第一是通知顯示訂單頁面的 OrderListTableViewController 呼叫 reloadData
第二是通知變更 TabBarItem 得 Badge Value,接收通知的 NotificationCenter 設在 Scene Delegate 中,當訂單有資料時才顯示紅點加數字,如無資料則不顯示