2011-06-26 21 views
0

iPhoneアプリケーションで時間情報を保存して操作する予定です。驚いたことに、iOSのベストプラクティスに関する検索ではほとんど議論がありません。 私の目標は簡単に: - 開始、終了、中断フィールドからの継続時間を計算します。 - ユーザによるエントリの周りは、選択可能なデフォルトの増分(15分、30分など)です。 -sum、avg、グラフを結果として表示する時間フィールドと計算 - ベストプラクティス

私の質問は時間データを保存する最良の方法は何ですか? NSDateとして完全な日付を保存しますか?私は時間部分だけを解析しますか? CFAbsoluteDateまたはCFIntervalタイプはより良い方法ですか?これらは私にとっては異例ですが、アップルのリファレンスドキュメントの検索は常に終わりそうです。残念ながら私は引用されたデータベース例は見当たりません。

私がやろうとしていることのほとんどを想像することができますが、私はモデルにコミットする前にいくつかの指針を期待しています。

答えて

1

非常にメモリが制限されていない限り、NSDateを推奨します。それはのような単純な時間間隔を計算することになり、ネイティブの時間差機能、持っている:あなたのアプリケーションの詳細を知らなくても

NSDate *savedDate = [self getDateSavedFromEarlier]; // retrieve saved date 
NSDate *anotherDate = [self getAnotherDateSavedFromEarlier]; // retrieve another saved date 
NSTimeInterval interval = [savedDate timeIntervalSinceDate:anotherDate]; 
+0

このように、日付/時間全体または時間自体を保存することをおすすめしますか?いくつかは、0またはその他の相対日付を使用することを示唆しており、私はそれがVBでそのように行われていることを見てきました。 –

+0

すべて保存してください。このデータのサイズは大きくありません。ちょうどそれを保存します。 –

0

を - 私はあなただけNSDate秒を格納して開始すべきだと思います。

あなたは大きな増分で物事を丸めているので、あまり差をつけようとしているボリュームで日付を生成/保存していることは考えにくいようです。

ベストプラクティスは、アプリケーションをプロファイリングする前に、状況を複雑にしないように最適化しないことです。