iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
Mobile Development

從零開始的Swift開發心路歷程系列 第 19

【從零開始的Swift開發心路歷程-Day19】簡易訂單系統Part3

  • 分享至 

  • xImage
  •  

昨天我們已經能成功新增訂單了,今天我們就來練習直接在TableView往左滑完成刪除訂單的功能吧!
要讓TableView能夠往左滑刪除,需要使用以下function

接著在function裡加入以下程式碼

let orderId = NSPredicate(format: "id = %@ ", self.orders[indexPath.row].setId)
//左滑刪除
let deleteOrders = realm.objects(Order.self).filter(orderId)
let deleteAction = UIContextualAction(style: .destructive, title: "刪除") {[self] (action, sourceView, complete) in
    self.orders.remove(at: indexPath.row)
    self.myTableView.deleteRows(at: [indexPath], with: .top)
    try! self.realm.write {realm.delete(deleteOrders)}
    complete(true)
    }
deleteAction.image = UIImage(systemName: "trash")//在按鈕上新增圖示
let leftSwipeConfiguration = UISwipeActionsConfiguration(actions: [deleteAction])
return leftSwipeConfiguration

以上程式碼是透過NSPredicate查詢並且用UIContextualAction所選TableView列的訂單id相符的訂單在TableView上與資料庫做同步刪除的動作
此外,也可以幫自己的刪除按鈕上新增垃圾桶的圖示,這樣看起來比較美觀!

如此一來,訂單的刪除功能就完成囉!那假設我們想要修改這筆訂單該怎麼辦呢?明天就來帶大家一探究竟~


上一篇
【從零開始的Swift開發心路歷程-Day18】簡易訂單系統Part2
下一篇
【從零開始的Swift開發心路歷程-Day20】簡易訂單系統Part4(完)
系列文
從零開始的Swift開發心路歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言