Core data 如何限制NSFetchedResultsController中每个节的项目数?

Core data 如何限制NSFetchedResultsController中每个节的项目数?,core-data,datasource,nsfetchedresultscontroller,nsmanagedobjectcontext,nsfetchrequest,Core Data,Datasource,Nsfetchedresultscontroller,Nsmanagedobjectcontext,Nsfetchrequest,例如,您的FRC获取新闻提要,并按发布日期将文章分组 然后你要限制每个部分的大小,每个部分最多10篇文章 我考虑过的一个选项是每天使用单独的NSFetchedResultsController,并设置一个获取限制。但这似乎没有必要,因为UI实际上只需要一个FRC(更不用说天数是无限的) 编辑: 我使用的是可扩散数据源快照。因为我使用的是可扩散数据源快照,所以我能够获取在FRC委托回调中收到的快照,并使用它创建新快照,只保留节中的前K个项目。如果是我,为此,我将不使用NSFetchedResult

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

然后你要限制每个部分的大小,每个部分最多10篇文章

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

编辑:


我使用的是可扩散数据源快照。

因为我使用的是可扩散数据源快照,所以我能够获取在FRC委托回调中收到的快照,并使用它创建新快照,只保留节中的前K个项目。

如果是我,为此,我将不使用
NSFetchedResultsController
,而是在表视图中处理它。实现
tableView(:,numberOfRowsInSection:)
,这样它就不会返回大于10的值。这样,表在一个部分中请求的行就不会超过10行,您的UI也将是您想要的