0

目前我有一个UITableView其数据源是NSFetchedResultsController. 最重要的事情NSFetchedResultsController是如果有任何更改,通过委托方法自动更新我的表。但是,我不再需要获取我的实体,"Pictures"现在调用它。我有另一个名为 的实体Folder,并且与folders有关系Pictures,所以每个实体folder都有一个NSSet pictures.

因此,现在我可以做的不是获取所有pictures属于某个特定的东西,而是返回我需要的东西,我可以将它分配给一个数组并将其设置为我的源。但是,这并没有像我想的那样给我自动表更新。folderfolder.picturestableViewNSFetchedResultsController

我的问题是如何在NSFetchedResultsController不执行 fetch 的情况下拥有 an(即自动更新我的表的委托方法)的功能?我不再需要获取了,因为我有一个NSSet想要的NSManagedObjects.

4

1 回答 1

2

获取的结果控制器有什么问题?只需保留它并在关系集上也使用点表示法 - 您将获得两全其美的效果。

获取结果控制器的真正优势实际上是隐藏的。它会获取你的对象(folders)好吧 - 但它可能不会获取所有的关系属性(pictures)。这称为故障。这意味着如果需要,核心数据将在后台获取数据。它会自动针对速度和良好的内存使用进行优化。例如,数据源的潜在巨大数组不必一次全部在内存中,这是数组不可避免的。

因此,您真的不想摆脱 FRC。她是你的朋友。忠于她。;-)

于 2012-04-10T18:51:30.257 回答