0

そのため、アプリ内に永続的なデータを保存する方法として .plist とアーカイブと SQLLite を認識していますが、ユーザーの日常のアクティビティからデータを保存する方法を見つけようとしてしばらく立ち往生していたため、グラフ。たとえば、ユーザーがある日は 1 マイル、次の日は 3 マイル歩いた場合、その日がいつで、次の日がいつであるかを知るにはどうすればよいでしょうか?

私が思いつくことができる最善の方法は、現在の日付を保存し、次にユーザーがアクションを実行するときに、保存された日付が現在の日付と同じかどうかを確認し、そうでない場合は別の日のデータを保存することです。

誰かがより良いアイデアを持っていますか、またはこの問題に対処する標準的な方法はありますか?

4

4 に答える 4

1

エントリがいつ書き込まれたかを示すタイムスタンプ列を持つSQLLiteDBを使用します。NSDateComponentsを使用すると、エントリが追加された日を後で把握できます。

タイムスタンプ列にインデックスを作成すると、クエリが非常に高速になります。グラフを描画するのに最適な方法は何ですか...

于 2012-05-26T21:17:13.833 に答える
0

SQLLiteは今でもそのための優れた方法です。フラットファイルのように扱わないでください。
SQLLiteはタイムスタンプをサポートしています。データを入力するたびに、そのスタンプをフィールドに追加できます。単純なSQLクエリを実行すると、グラフに使用できる形式でデータが得られます。また、データベースにクエリを実行して、現在のデータが何であるか、またはデータが最後に入力されてからの経過時間を確認することもできます。

いくつかのヒントについては、このページをお読みください: http ://www.sqlite.org/lang_datefunc.html

于 2012-05-26T21:20:45.520 に答える
0

これに適したデータ構造について質問している場合は、データとタイムスタンプを配列に保存してください。次回更新するときは、配列内の最後のオブジェクトのタイムスタンプを確認し、データが変更されているかどうかを確認してください。ある場合は、新しいエントリを追加します。

これを永続化するには、この配列を PList に保存するだけです。大量のデータではないので、PList は悪い考えではありません。

于 2012-05-27T04:03:34.290 に答える
0

NSDate を使用することは、完全に優れた方法です。とにかく、グラフの日付が必要になるでしょう。

于 2012-05-26T21:18:18.330 に答える