在 Core Data 中获取 IndexSet

Posted

技术标签:

【中文标题】在 Core Data 中获取 IndexSet【英文标题】:Get IndexSet in Core Data 【发布时间】:2020-05-28 00:57:58 【问题描述】:

像这样获取数据:

@ObservedObject var meal: Meals
@ObservedObject var mealsController: CoreDataMealsController

其中饭是我正在查看的单个当前对象。

我这样定义我的删除函数:

func deleteEntry(entry: Meals) 
        let mainC = CoreDataStack.shared.mainContext
        mainC.delete(entry)
        saveToPersistentStore() 

     func deleteEntry(at indexSet: IndexSet) 
         guard let index = Array(indexSet).first else  return 

         let entry = self.mealsData[index]

         deleteEntry(entry: entry)
     

如何获取当前对象 meal 的 IndexSet 以便将其传递给函数?

【问题讨论】:

您能显示代码吗?您的餐点数组在哪里?您想在哪里删除一个? 【参考方案1】:

我猜你是什么在 table 中进行滑动删除。当您滑动删除列表中的对象时,SwiftUI 列表会为您提供删除的 IndexSet。使用 forEach 遍历 IndexSet。

检查这可能会对您有所帮助。

https://www.raywenderlich.com/9335365-core-data-with-swiftui-tutorial-getting-started

【讨论】:

如果我想要交换删除,我可以使用列表。这不是我想要的,也不是我要问的

以上是关于在 Core Data 中获取 IndexSet的主要内容,如果未能解决你的问题,请参考以下文章

使用 Core Data 在表格视图中编辑行位置

在 Core Data 中获取多个 objectID?

在 Core Data 中获取过滤的关系

在 Core Data 中获取数据时的 performBackgroundTask 故障错误

我可以在 Core Data 中获取关系数据吗

Core Data MagicalRecord:获取请求并保存在多线程中。锁定获取的对象?