📅  最后修改于: 2023-12-03 15:37:55.689000             🧑  作者: Mango
在 tvOS SwiftUI 应用程序中使用 CoreData,你可能会需要从列表中删除某些数据。这可以通过以下步骤完成:
在你的视图控制器中,你需要首先获取你的应用程序 CoreData 上下文,这可以通过以下代码完成:
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
接下来,你需要创建一个函数来删除给定的 CoreData 实体对象。对于此示例,我们将称之为 deleteItem
。下面是删除一项任务的示例:
func deleteItem(item: Task) {
context.delete(item)
saveItems()
}
最后,在你的视图中,你需要使用上面的删除函数,以删除 CoreData 实体对象。这可以通过使用 onDelete
modifer 来完成。在示例中,我们使用了 List
来显示数据,并使用了 onDelete
modifier,如下所示:
List {
ForEach(tasks) { task in
Text(task.name)
}
.onDelete { indexSet in
let itemToDelete = self.tasks[indexSet.first!]
deleteItem(item: itemToDelete)
}
}
通过这些简单的步骤,你可以在 tvOS SwiftUI 应用程序中删除 CoreData 实体对象。记住要获取你的 CoreData 上下文、创建一个删除函数,并在你的视图中使用 onDelete
modifier。