昨天介紹如何撈資料了,今天繼續介紹刪除資料的方法。
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()
}
}
}
原本是想來測試看看實際效果如何,但是這邊的系統似乎還有些問題沒有解決,看看之後有沒有機會吧。