1

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

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

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

由于在上述示例中不存在 8 月 15 日的事件,因此当前不显示 8 月 15 日的部分标题。我希望它出现。

我已经考虑在没有事件发生的日期中包含“模拟”对象,并且根本不为表中的行显示它们。可能,但需要进行大量额外处理(所有行高都需要在显示之前计算 - 这很容易有数千个对象)。另一种选择是在所有部分中包含一个模拟对象,我可以在所有行中平均补偿(更少的处理)。这应该可行,但我真的对用模拟对象来垃圾我的数据库不感兴趣。

关于解决此问题的更好方法的任何建议?

4

1 回答 1

0

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

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

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

于 2013-08-14T21:10:57.597 回答