如何限制 NSFetchedResultsController 中每个部分的项目数?

问题描述

例如,您的 FRC 获取新闻提要并按发布日期将文章分组。

然后您想将每个部分的大小限制为每个部分最多 10 篇文章

我考虑过的一个选择是每天都有单独的 NSFetchedResultsControllers 并设置获取限制。但这似乎没有必要,因为 UI 只需要一个 FRC(更不用说天数是无限的)。

编辑:

我使用的是可区分的数据源快照。

解决方法

如果是我,我会单独处理 NSFetchedResultsController 并在表视图中处理它。实施 tableView(_:,numberOfRowsInSection:) 以便它永远不会返回大于 10 的值。那么表格将永远不会要求在一个部分中超过 10 行,您的 UI 将如您所愿。

,

由于我使用的是可区分的数据源快照,因此我能够获取在 FRC 委托回调中收到的快照并使用它来创建新快照,仅保留部分中的前 K 个项目。