具有多个日期条目(每年约800+)的核心数据或NSDictionary?什么是最容易实现的



我正在尝试找出解决此问题的最佳方法。

--

我有一个"历史"表,列出所有有数据的年份。

如果用户单击给定的年份,它将转到新表,并且,列出包含数据的所有月份。

单击给定月份,将显示一个新表,列出有数据的所有日期

单击特定日期,将显示一个或多个时间戳的列表。

--

解决这个问题的最佳方法是什么?

如果用户创建时间戳。我需要插入今天的日期。

我还需要具备这样的能力,即如果用户,删除给定年份。该年的所有内容都将被删除。

同样,删除一个月,删除该月的所有内容,因为它是特定的年份。

依此类推,直到用户应该能够删除单个时间戳。

--

我以为我会使用带有"年"键的字典。 2012, 2013, ...

并且每个人都检索另一个带有"月"键的字典,1,2,3,4,...

等等...等等...

我还认为我可以使用Core Data制作一个模型。

代表"年"实体的班级,与许多可能的月份有关,每个月与许多可能的日子有关,与时间*邮票*的天数有关。

最后,

我想创建一个只有两个实体的模型。

只有一个属性"日期"的

条目,与"时间戳"具有多关系,接收该给定日期的所有可能的时间戳。

我是iOS编程的新手。所以这对我来说都是理论。但我确实遵循了一些核心数据教程和其他使用 NSDictionaries、协议委托等的教程。

当我进入低谷时,"挖掘"方法似乎更优雅。特别是因为我认为我可以以级联方式删除特定的给定对象?

这些都有意义吗?还是有更明显的简单方法可以做到这一点?另外,请在答案中考虑如果用户选择删除"树"中的给定条目,什么会更容易实现

任何帮助都非常感谢。

谢谢你的前进!

努诺

如果您要依赖Core Data或任何数据库引擎,解决此问题的最佳方法是使用数据库本身。

我看到了两种可能的解决方案(当然还有更多)。第一个,最简单的:

Entity
- timestamp
- year
- month
- day
- all_the_stuff_you_need

将年、月和日设为只读,并沿时间戳更新。索引:年、年+月、年+月+日。轻松通话。

这样,您可以非常简单地查询数据库,要求它返回所需的实体,并且仅返回所需的实体。

更复杂的设置是:

Entity
- timestamp
- all_the_stuff_you_need
- year -> Year
- month -> Month
- day -> Day
Year
- year
- entities ->> Entity
Month
- month
- entities ->> Entity
Day
- day
- entities ->> Entity
所以基本上,年,月和

日,月和日的3个数据域是不可变的。

该结构更复杂,但它提供了更好的数据视图。您可以直接访问有关数据的更多信息,因为数据域是显式且定义良好的。

第三种解决方案是创建一个包含年、月和日的日期实体,每天一个条目。上述两种解决方案之间的中间地带。我认为不太有趣,但嘿,无论如何它可能适合您的需求。

最新更新