跟踪存储在CoreData中的实体的顺序的最佳方式

时间:2017-09-04 04:50:36

标签: ios core-data

我正在创建这个可以在集合视图中显示一些内容的App。集合视图的数据源使用CoreData在本地存储。每个集合视图单元将具有相应的CoreData实体。 由于我在集合视图中添加了“拖动重新排序”功能,因此我需要一些方法来跟踪CoreData实体的顺序。任何人都有任何建议如何实现这一目标? 感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以为实体类型添加整数属性。每次更改实体的顺序时,都会将当前索引分配给此属性,然后保存上下文。您可以获取按此属性排序的实体以恢复订单。

但是这个解决方案可能有两个问题:

  1. 对于大型实体集和/或频繁更新,它可能不具备性能。
  2. 实体订单可能不属于实体内容。例如,如果要以不同的顺序在不同的视图中显示数据,这可能会有问题。
  3. 在这种情况下,您应该存储订单而不是实体。相反,您可以将订单存储在属性列表中,例如在具有实体标识符的数组中。