NSFetchedResultsController - 按日期排序,逐日排序,支持批处理

时间:2013-10-20 23:00:55

标签: ios nsfetchedresultscontroller

以前按日期排序,逐日工作,使用带有NSFRC的sectionNameKeyPath的transient方法。与此解决方案类似:How to Group by day in NSDate with NSPredicate - needed to create multiple UITableView sections

然而,一旦记录数量变大,我想添加批量添加到我的NSFRC。批处理不起作用,因为它必须获取每个记录并运行瞬态方法来确定部分。请参阅:NSFetchedResultsController is loading all rows even through I have batch set

事实上,如果您查看经常链接到此的Apple示例代码,您会注意到批处理实际上无法正常工作。它立即获取所有行以运行瞬态方法。 https://developer.apple.com/library/ios/samplecode/DateSectionTitles/Introduction/Intro.html

我不太确定从哪里开始。白天分组非常关键,但批处理也是如此。

更新

我尝试了一种解决方案,预先计算Day String并将其添加到数据模型中。因此,我的所有模型都有.created nsdate和.createdDayString。我按created排序,并尝试使用createdDayString作为sectionNameKeyPath,但是当记录的顺序正确时,它会错误地分组(分组),显然使用字母顺序当天的名字。例如第一部分是星期三。

预先计算

的解决方案

作为我的解决方案的更新,如果我计算并存储Apple在其示例中的相同值(除了日期,如此SO帖子所示:How to Group by day in NSDate with NSPredicate - needed to create multiple UITableView sections),那么我可以将其用作{ {1}}。这是有效的,但它确实意味着仅为此目的在核心数据对象上存储更多数据。如果有人有一个出色的解决方案,请保持开放。

0 个答案:

没有答案