2011-01-31 8 views
1

私はiPad用の簡単なテキストエディタを開発しています。 コアデータの代わりに、アプリケーションはNSStringのwriteToFile関数を呼び出すことによって、その内容をドキュメントフォルダの* .txtファイルに保存するだけです。このようにして、ユーザーはiTunes経由で簡単にファイルを転送できます。このアプローチが悪いのか非効率なのか、私に助言してください!ファイルに保存する頻度はどのくらいですか?

プログラムでテキストファイルにコンテンツを保存する頻度はどのくらいですか? iOSの人間ガイドによれば、アプリはコンテンツを「頻繁に」保存する必要がありますが、特定の秒数は指定しません。

私はアプリがそのコンテンツを2秒ごとに保存する必要があると読んでいました。これが正しい場合は、1つの関数を作成し、繰り返しモードでNSTimerを使って呼び出す必要がありますか?

ありがとうございました!

答えて

3

実際にクラッシュすることが予想される場合を除き、「頻繁に」保存しても意味がありません。 iOSは潜在的なアプリのシャットダウンの状況を通知するので、私はちょうど1)メモリ警告の受信2)終了3)背景に移動4)ユーザーがそれを要求するたびに編集ビューからナビゲートする)。実際の編集者はどこにも行かないので、それを超える節約は実際にはリソースの無駄です。

NSStringのwriteToFileメソッドは、平文の場合や、既にNSStringとしてデータを取得していると仮定しても問題ありません。あなたのデータがNSString内にまだ存在しない場合は、NSStringに変換してwriteToFile(たとえば出力ストリーム)を呼び出すよりも効率的に保存する方法があります。また、非常に大きなファイルを使用している場合は、より漸進的なアプローチ(つまり、変更点から最後まで保存する)が必要になるでしょう。しかし、これを必要とするために十分な大きさのファイルを編集している人は、スリムである。

+2

"いつでも停止準備するユーザーデータを可能な限り早く、妥当な頻度で保存してください。いつでも終了通知や終了通知が届く可能性があります。投稿者:The Bible:https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/UEBestPractices/UEBestPractices.html – Fattie

関連する問題