2011-06-28 10 views
0

私はObjective-cを通じてiPhoneのプロジェクトに取り組んでいます。私のプロジェクトでは、データとファイルがiPhoneに永久に保存され、数日後には役に立たなくなります。たとえば、私は、アプリケーションの使用速度を上げ、必要なときにダウンロード時間を短縮するために、アプリケーションによって何度も何度も使用される画像を保存するためのキャッチを実装しています。しかし、数日後、その画像は役に立たなくなりますが、電話の記憶に残ります。私は、アプリケーションを起動するときにまず無駄なデータを検出し、バックグラウンドスレッドやアプリケーションの終了時にそのデータをクリーンアップするようなロジックを作りたいと思っています。Objective-cを使用して数日後にキャッチデータを消去するには?

"これをどのように達成できますか"と教えてください。

ありがとうございます事前にありがとうございます

+0

おかげで。私は問題の解決を知っています。しかし、iPhoneでこれを達成するためには苦労しないでください。ここでは、データが適切かどうかを検出する方法について質問しています。または、アプリケーションの最後の起動から最後の起動までの日数(Objective-cを使用するiPhone)を知るにはどうすればいいですか? –

答えて

0

経過日数をカウントする場合は、NSUserDefaultsに時間を保存して現在の日付と比較し、キャッシュされたイメージを削除することができます。

アプリが起動された回数を数えたい場合は、NSUserDefaultsをもう一度使用できます。

両方のコードは、appdidfinishlaunchingという方法でアプリケーションデリゲートクラスに書き込まれる必要があります。

さらに複雑なシナリオでは、基本的に開始カウントを保存し、キャッシュをクリアできるときに限界に達するまでそれぞれの時間を比較することもできます。

+0

それは私が探していたロジックです。ありがとうございました –

+0

実際に私はこのサイトでは非常に新しく、問題の解決策を見つけるためにjussを使用しています。しかし、今私はあなたの言葉を私の心に留めておきます。ありがとう –

2

あなたのソリューションはすでに記載されています。

擬似コード:

for (CacheData data in cache) 
    if (noLongerRelevant(data)) 
     delete(data) 

ところで、あなたは本当に答えを受け付けを開始すべきです。これはこのサイトの仕組みです。また、あなたの古い質問を再訪してください。

+0

おかげで、私は問題の解決を知っています。しかし、iPhoneでこれを達成するためには苦労しないでください。ここでは、データが適切かどうかを検出する方法について質問しています。または、アプリケーションの最後から最後までの起動までの日数(Objective-cを使用するiPhone)を知るにはどうすればいいですか? –

+0

データが期限切れになったときに*あなた*が知っているだけです。ユーザーのデフォルトでは、起動時またはプログラム終了時に現在の日付を保存し、数式を実行できます。キャッシュされたデータの場合、おそらく "ファイルの日付"が十分です。 – Eiko

+0

助けてくれてありがとう仲間 –

関連する問題