我有NSManagedObject
名为WorkOrder
,在该类的类别中定义了布尔属性isComplete
。
我使用NSFetchedResultsController
从数据存储中获取这些内容并将其显示在表视图中。我希望能够根据isComplete
属性过滤结果,但当然NSFetchedResultsController
中的谓词不能这样做,因为该属性不是Core Data属性。我也无法过滤控制器的fetchedObjects
数组,因为该属性是只读的。
有没有办法做我正在尝试做的事情而没有滚动我自己的模仿NSFetchedResultsController
的数据结构,但允许我过滤后取结果?
答案 0 :(得分:2)
正如我在Adam Eberbach回答的评论中所说,我使用NSDictionary
(self.workOrdersByDate
,下面)来解决这个问题,以存储分组结果,以及{{1 (NSArray
,下面)存储字典的排序键。
self.dateSections
答案 1 :(得分:1)
您收到Core Data查询中的一组对象,为什么不在该结果上使用filteredArrayUsingPredicate
来获取您真正想要的数组呢?
在这种情况下,您可以放弃使用NSFetchedResultsController直接填充表格,但在数据更改时它仍然对其委托通知有用。