每天存储数据框

时间:2019-04-23 09:11:36

标签: ios swift

我制作了一个通过蓝牙接收数据的应用程序。我想定期存储接收到的数据,以进行历史记录并将其存储在应用程序中。

我想知道使用什么(核心数据,UserDefaults等)? 谢谢

1 个答案:

答案 0 :(得分:1)

这取决于数据量,但主要取决于您要如何处理这些数据。

实现核心数据将花费大部分时间,但是您可以使用该数据做很多事情。您可以按日期搜索和过滤项目,甚至可以将它们分成几部分。 NSFetchedResultsController在这里可能会很有帮助。

用户默认值可能不太合适,因为它们被设计为容纳少量(或至少是有限的)数据变量,例如某些设置,标志...

另一个想到的就是将它们保存到文件中。可能最简单的方法是使用JSON。 JSONSerialization应该能够将数据从具体对象编码或解码到Data,然后再返回。现在也有一些不错的工具可以大大加快这一过程。签入Codable。最后的Data可以直接保存到文件中,然后可以在您的应用程序的文档目录中创建该文件。

您应该评估如何访问这些数据。例如,如果您的目标是显示每月,每日和每小时基本信息图表,并且能够删除条目,那么我将选择Core Data。如果您只需要打开一些旧日志并查看它们,那么将其保存到磁盘可能是更合适的解决方案。