0

我试图找出解决这个问题的最佳方法。

--

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

如果用户单击给定的年份,它会转到一个新表并列出所有有数据的月份。

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

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

--

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

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

我还需要具有删除给定年份的用户的能力。那一年的一切都被删除了。

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

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

--

我想我会使用带有“年份”键的字典。2012 年,2013 年,...

并且每个检索另一个带有“月份”键的字典,1、2、3、4,...

等等等等 ...

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

表示“年”实体的类 Year ,与许多可能的Months相关,并且每个月与许多可能的days相关,并且 days 与Time * Stamps * 相关。

最后,

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

条目,只有一个属性“日期”,与“时间戳”具有一对多关系,接收该给定日期的所有可能时间戳。

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

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

这些有意义吗?还是有更明显的简单方法来解决它?另外,请在答案中考虑如果用户选择删除“树”中的给定条目会更容易实现

非常感谢任何帮助。

谢谢提前!

努诺

4

1 回答 1

1

如果你打算依赖 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 个数据域是不可变的。

该结构更复杂,但它可以更好地查看您的数据。您可以直接访问有关您的数据的更多信息,因为数据域是明确且定义明确的。

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

于 2012-08-12T08:38:59.187 回答