核心数据更新全部“;索引“;属性(iOS)

核心数据更新全部“;索引“;属性(iOS),ios,core-data,Ios,Core Data,我在实体“任务”中的核心数据中有一个名为“boardIndex”的属性(NSNumber)。每个boardIndex都是唯一的,这意味着boardIndex 3不能有两个任务 当我更新boardIndex时,比如从3到5,我需要通过增加或减少1(或不做任何操作)来更新核心数据中的所有其他实体“boardIndex”属性。例如,boardIndex为4的任务现在是3,boardIndex为5的任务现在是4,boardIndex为3的任务现在是5;类似于indexPath在tableView中的工作

我在实体“任务”中的核心数据中有一个名为“boardIndex”的属性(NSNumber)。每个boardIndex都是唯一的,这意味着boardIndex 3不能有两个任务

当我更新boardIndex时,比如从3到5,我需要通过增加或减少1(或不做任何操作)来更新核心数据中的所有其他实体“boardIndex”属性。例如,boardIndex为4的任务现在是3,boardIndex为5的任务现在是4,boardIndex为3的任务现在是5;类似于indexPath在tableView中的工作方式

这样做的最佳实践是什么?我读过关于“核心聚光灯”的文章,但我不确定这是否正确。任何帮助都会很好

代码(如果有帮助):

//This only updates one task, how to update other tasks?
task?.boardIndex = childIndexPath?.row as NSNumber?
DataBaseManager.sharedInstance.save()
当我更新boardIndex时,比如从3到5,我需要通过增加或减少1(或不做任何操作)来更新核心数据中的所有其他实体“boardIndex”属性

最好的方法是使用一个数据结构来维护任务的顺序。处理核心数据的方法是使用有序到多属性

创建一个单独的实体来保存任务列表。例如,您可能有一个
实体,它与
任务
有一个对多的有序关系。这种有序关系将由一个对象表示,您可以向其中添加任务

我读过关于“核心聚光灯”的文章,但我不确定这是否正确


这是一种完全不同的索引方式——Spotlight允许用户搜索其设备上的数据,而Core Spotlight允许您在搜索中包含应用程序的数据。

嘿,Caleb,很抱歉延迟了。我相信这就是我需要的答案。非常感谢。