NSFetchedResultsController,sectionNameKeyPath和没有数据的日期的部分

时间:2013-08-14 18:09:52

标签: objective-c cocoa core-data uitableview nsfetchedresultscontroller

我在iOS上使用核心数据数据源UITableViewController。这些项目是按日期排序的事件。我已经使用sectionNameKeyPath按日期将事件拆分为多个部分。一切都很好。

我想在数据库中不存在数据的日期中包含节标题。例如:

-August 14-
Event One
Event Two
-August 15-
-August 16-
Event Three

由于上例中没有8月15日的事件,因此目前不会出现8月15日的标题。我希望它出现。

我考虑过将“模拟”对象包含在没有事件发生的日期,而只是不为表中的行显示它们。可能,但需要大量额外处理(所有行高都需要在显示之前计算 - 这可能很容易有数千个对象)。另一个选择是在所有部分中包含一个模拟对象,我可以在所有行中平均补偿(较少的处理)。这应该可行,但我真的不想用模拟对象来填充我的数据库。

有关更好的方法来解决这个问题的任何建议吗?

1 个答案:

答案 0 :(得分:0)

不知道日期代表什么(当前日期或过去日期)此解决方案可能会或可能不会很好。但是如何创建一个处理日期的表。然后与对象有一对多的关系:date< - >>事件

然后,当应用启动时,您可以添加所需的日期。然后获取的控制器只是拉出日期表中的所有日期,这些可能是部分。对于行,您只需访问日期的事件。

现在我看到的主要缺点是你可能无法从获取的控制器中获得最佳功能,尽管每次访问该关系时,信息都应该是最新的。除此之外,我想不出一个流畅的解决方案,但我个人对将垃圾数据添加到我的数据库感到谨慎。