NSFetchedResultsController 结果过滤

Posted

技术标签:

【中文标题】NSFetchedResultsController 结果过滤【英文标题】:NSFetchedResultsController result filtering 【发布时间】:2010-11-30 00:41:30 【问题描述】:

有没有简单的方法来过滤NSFetchedResultsController提供的结果?

我正在使用标准的核心数据模板,它非常适用于简单的表格。

我有一个UITableVIew 和一个UISegmentedControl,它有两个类别,一个显示所有类别,一个在选择时应仅显示今天创建的事件。

我已经能够在两个不同的 tableViews 中完成此操作(所以我知道如何使用 NSPredicate,这不是我的问题;问题是将它组合成一个 tableView)。

我知道一旦创建了NSFetchedResultsController,您就无法更改 fetchRequest。

所以我猜我必须创建一个新的NSFetchedResultsController

有没有人实现过类似的东西或对如何实现它有任何想法?

【问题讨论】:

【参考方案1】:

是的,您必须创建一个新的NSFetchedResultsController - 毕竟,更改获取请求基本上相当于从头开始重新初始化它(由于NSFetchedResultsController 对获取的数据执行幕后操作) .

【讨论】:

【参考方案2】:

我没有使用 NSFetchedResultsController,因为我的代码库早于它,但是在过去,我刚刚根据 segmentedControl 的状态使用不同的谓词触发了 NSFetechedResults 请求。

【讨论】:

以上是关于NSFetchedResultsController 结果过滤的主要内容,如果未能解决你的问题,请参考以下文章

在 Core Data 应用程序中调用 performFetch 后,是不是需要手动更新表视图?