5

画像を手動で削除するまで(メモリ内+ディスク)、画像を完全にダウンロードして保存する必要があるアプリケーションを開発しています。これが必要なのは、アプリがオフラインで動作できる必要があるためです。画像をキャッシュするためのAFNetworkingとSDWebImageがあることは知っていますが、永続的なキャッシュと手動による削除は許可されていないと思います。Afaik、キャッシュの有効期限が切れると自動的に画像を削除します。

この種のことを行うための他のライブラリはありますか?このためのクラスを書こうとしましたが、あまり安定していません。車輪の再発明をしないほうがいいと思います。

4

2 に答える 2

0

Application Support 内のフォルダーにファイルを保存します。これらは存続し、iOS はそれらを削除しません。後でフォルダーを使用すると言いますが、それらを削除したい場合は、フォルダーを削除するだけです。

Application Support ディレクトリにアクセスして構成する正確な方法については、この投稿で詳しく説明しています。

必要に応じて、これらの画像への URL またはパスを Core Data リポジトリに保存できます。

編集: Core Data イメージ リポジトリを管理するシングルトン クラスがあります。画像が関連付けられているオブジェクトには、data プロパティ、URL プロパティ、filePath プロパティ、および未処理のフェッチがあるかどうかを示すブール フラグがあります。画像が必要な場合は、画像 (データから構築されたもの) を要求し、データがない場合は、シングルトンが Web フェッチを発行します。到着すると、ファイル システムに保存され、エンティティはその画像セットへの filePath を取得します。次に、このような画像が到着したことを通知します。[デバッグのために、さまざまな時点で、データからイメージを作成できることを確認するために私もテストしました。]

viewControllers は通知を受け取ると、表示されているセルのリストを調べ、それらのいずれかが新しく到着した画像に関連付けられている場合、そのクラスはシングルトンから画像を要求し、それをセルに設定します。これは私にとって非常にうまく機能しています。

于 2012-09-16T17:42:13.410 に答える