iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0

昨天介紹如何撈資料了,今天繼續介紹刪除資料的方法。

Delete

SwiftData 中刪除資料的方式也很簡單,只需要在要執行的地方加上下面這行就好。

context.delete()

而刪除資料跟之前介紹的儲存資料一樣,都是會在執行之後自動儲存進 SwiftData 中的,如果還是不放心的話,可以加上下面這行。

try! context.save()

那在範例裡要怎麼刪除資料呢?這裡在 List 裡加上刪除的動作,這樣就能成功將資料刪除了,資料刪除之後也不用擔心主畫面的資料是否還在,因為上次撈資料使用的 @Query 會自動在撈取一次資料。

List {
    ForEach(expenses) { expense in
        ExpenseCell(expense: expense)
    }
    .onDelete { indexSet in
        for index in indexSet {
            context.delete(expenses[index])
            try! context.save()
        }
    }
}

原本是想來測試看看實際效果如何,但是這邊的系統似乎還有些問題沒有解決,看看之後有沒有機會吧。


上一篇
Day 25:SwiftData(5)
下一篇
Day 27:SwiftData(7)
系列文
SwiftUI學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言