0

我想BWOrderedManagedObject在 Core Data 中存储一个有序对象数组,NSFetchedResultsController用于显示数据。

然而,所有BWOrderedManagedObject的方法似乎都只是简单地返回一个有序对象的数组;NSFetchedResultsController需要一个NSFetchRequest,对一个进行排序的唯一方法NSFetchRequest是提供一个 的数组NSSortDescriptors

所以,我对如何使用BWOrderedManagedObjectwith有点NSFetchedResultsController困惑——有谁知道我如何能够成功地做到这一点?

(我可能可以创建自己的排序键并将其与排序描述符一起使用,但我假设这BWOrderedManagedObject会更健壮......?)

4

1 回答 1

3

NSFetchedResultsController期望从无序集合中获取信息并返回数组。这就是为什么它需要一个排序描述符。它必须将无序集转换为数组,并且需要排序才能做到这一点。

我认为最容易实现自己的排序。我使用与“排序”实体的关系,它只是一个索引属性和与有序实体的关系。然后您所要做的就是排序和获取 Ordering 对象,然后遍历它们各自的关系以按顺序找到目标对象。它快速、干净、灵活并且适用于NSFetchedResultsController.

于 2010-07-13T14:22:12.040 回答