确定用于简单时间跟踪应用程序的数据模型

Posted

技术标签:

【中文标题】确定用于简单时间跟踪应用程序的数据模型【英文标题】:Deciding what data model to use for simple time tracking app 【发布时间】:2019-06-21 08:29:04 【问题描述】:

我正在创建一个应用程序,它需要存储的数据非常简单,但由于我是应用程序开发的新手,我正在寻找有关存储/检索/更改的最佳方法的建议数据。 这是一个非常简单的时间跟踪应用程序,需要处理以下数据。

每个新的一天的记录。对于每天的记录,它需要存储

开始工作时间/日期 开始午餐时间/日期 结束午餐时间/日期结束 工作时间/日期 工作日/bool

由于该应用将与现有的时间跟踪流程结合使用,因此无需将“日”记录存储超过 3 个月。 我研究了一些存储数据的方法。

用户默认值 核心数据 本地 JSON 文件

我倾向于使用本地 JSON,但想知道是否值得研究其他选项,即使只是为了了解它们的工作原理?为了简单起见,我想尽可能多地使用我所熟悉的 Swift 和 Swift UI。 此外,我希望应用程序自动创建新的一天记录(在新的一天发生时),而用户无需做任何事情。我不确定这是否会对数据方法产生影响。 欢迎任何建议!

【问题讨论】:

【参考方案1】:

如果在手机本地存储数据对你来说已经足够了,我建议你学习和使用 CoreData 来保持它的持久性。我认为本地 JSON 文件不足以满足您的应用程序,因此很难让您的应用程序保持持久性。我不知道 UserData,但我认为您在谈论 UserDefaults,它对于保留少量数据(如 userSettings 或应用程序状态)很有用。为了将来的需要,我强烈建议你学习一些类似服务器端的框架,比如 Vapor(你可以使用易于适应的 Swift 语言编写服务器端代码)或任何其他服务器端框架。

【讨论】:

感谢 Atalay,这似乎是个好建议。对于这个应用程序,我试图让事情尽可能简单,所以现在将数据保持在本地。我的意思是 UserDefaults 并更新了帖子。干杯。 正如我所说,在 UserDefaults 中保留太多东西可能不是一个好主意。如果您觉得有用,您也可以将其标记为已接受的答案吗? @welshys

以上是关于确定用于简单时间跟踪应用程序的数据模型的主要内容,如果未能解决你的问题,请参考以下文章

Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径

Core Data 应该只用于特定类型的数据模型还是可以一直使用?

如何为简单的应用程序设置核心数据模型?

nlp 中是不是有用于事件跟踪的项目或成熟模型?

用于扩展目标跟踪的笛卡尔B-Spline车辆模型

用于简单数据模型和多对多关系的 Optimal Entity Framework 4 查询