0

ユーザーが表示を要求するたびにサーバーからダウンロードするデータをかなりの場所に含めるアプリの作成を開始しています。次に、ユーザーがインターネットに接続せずにアプリを再度開くと、アプリは以前にダウンロードしたコンテンツをキャッシュからロードするだけで表示できるようにする必要があります。これのポイントは、コンテンツが時々変更され、ユーザーがサーバーに接続できない場合に、最後にダウンロードされたバージョンを表示できる必要があるということです。

問題は、キャッシュをディスク上の特定のサイズに設定できることですが、サイズに関係なくすべてのコンテンツを保存する必要があります。スペースが不足しているときにキャッシュディスクのサイズを大きくするように設定する必要があると思います。これを行う良い方法は何ですか?

PS これが関連しているかどうかはわかりませんが、このプロジェクトで AFNetworking を試してみることを考えていました (以前は ASIHTTPRequest を使用していました)。

4

2 に答える 2

3

NSURLCacheオンディスク キャッシュとして使用している場合は、 でディスクの使用状況を確認できますcurrentDiskUsage。これが近づいている場合はdiskCapacity、 を使用して増やすことができますsetDiskCapacity。キャッシュへの書き込みを試みる前に、このチェックを実行する必要があります。

于 2013-10-16T10:54:10.570 に答える
1

私は同じタイプのプロジェクトに取り組んできました.AFNetworkingを使用しました.私によれば、ローカルデータベースにデータを保存する方が良いオプションです...そして、ユーザーがアプリを起動したときに、データベースのバージョンをチェックするサービスコールが1つだけあります. 古いバージョンの場合はデータベースを置き換え、ネットワークに障害が発生した場合は古いバージョンを表示して対処します。

于 2013-10-16T10:50:21.110 に答える