#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 中,當訂單有資料時才顯示紅點加數字,如無資料則不顯示

--

--