【发布时间】:2018-05-13 21:58:53
【问题描述】:
应用概览
我正在用 Swift 构建一个显示事件列表的 iOS 应用程序。我拥有的事件数据显示了事件的名称、开始日期(日、月、年)和结束日期(日、月、年)。
从 Firebase 提取数据后,我会查看开始和结束月份,并在表格视图中显示相应月份的事件。数据按月份显示,因此查看 5 月的用户只能看到 5 月的事件,并且必须选择不同的月份才能查看该月的事件。
问题
有些事件会持续几个月。例如,如果某个事件在 7 月开始并在 9 月结束,那么我当前的实现不会显示 8 月期间的事件。
可能的解决方案
我正在寻找一种优雅的方式来以编程方式检查这种情况,并确保它显示在正确的月份,而不是手动操作数据来说明中间的月份。
如果您有任何建议,请告诉我。这是我正在考虑的解决方案:
- 添加一个布尔数据点,说明事件是否持续数月。当显示特定月份的事件时,检查所有这些事件以查看所选月份是否大于事件的开始月份且小于事件的结束月份。
如果事件从一年持续到下一年,这将失效。我需要添加额外的逻辑来处理它。
【问题讨论】: