在iOS中存储每日数据

时间:2012-05-26 21:02:20

标签: iphone objective-c ios xcode tracking

所以我知道.plist和archives以及SQLLite作为在应用程序中存储持久数据的方法,但是,我一直试图弄清楚如何存储来自用户日常活动的数据,所以它可能是显示在图表中。例如,如果一个用户每天走1英里而下一个走3,那么怎么会知道它的哪一天以及何时是下一天呢?

我能想到的最好的方法是存储当前日期,然后在下次用户执行操作时,检查存储的日期是否与当前日期相同,如果不存在,则保存数据不同的一天。

有没有人有更好的想法或有没有一种标准的方法来处理这个问题?

4 个答案:

答案 0 :(得分:1)

我会使用带有时间戳列的SQLLite DB来指示何时写入条目。使用NSDateComponents,您可以在后一天添加条目时找出它。

当您在时间戳列上创建索引时,您的查询将非常快,这对于绘制图形来说是完美的...

答案 1 :(得分:0)

使用NSDate是一种非常好的方法。你可能还需要图表的日期,或者?

答案 2 :(得分:0)

SQLLite仍然是一个很好的方法。只是不要把它当成平面文件 SQLLite支持时间戳。每次输入数据时,都可以将该标记添加到字段中。运行简单的SQL查询将以您可用于图形的格式为您提供数据。您还可以查询数据库以查看当前数据的内容或自上次输入数据以来的时间。

阅读此页面以获取一些提示: http://www.sqlite.org/lang_datefunc.html

答案 3 :(得分:0)

如果您询问正确的数据结构,只需将数据和时间戳存储在数组中即可。下次更新时,请检查阵列中最后一个对象的时间戳,并查看数据是否已更改。如果是,请添加新条目。

要坚持这一点,只需将此数组保存到PList中即可。由于不是很多数据PList不会是个坏主意。