2011-08-05 6 views
1

この副作用は、キャッシュされたデータを取得しなかった場合に新しいデータが利用可能であったことをユーザーに警告することができるためです。悪いアイデア?チェックサムの代わりにHTTPレスポンスの「最後に変更された」日付を使用できるかもしれませんが、データのチェックサムを計算して後で比較目的で保存する必要はないと考えていました。NSURLConnection:sendSynchronousRequestがキャッシュされたデータを返すかどうかを判断する方法

答えて

2

NSURLConnectionDelegateプロトコルには、connection:willCacheResponse:メソッドがあります。このメソッドは、NSURLConnectionが応答を受け取った後にキャッシュするときに呼び出されます。したがって、キャッシュが使用中であることを示すフラグを設定できるフックを提供します。あるいは、キャッシングを無効にしたい場合は、実装からnilを返すことができます。

デリゲートが複数のNSURLConnectionを管理している場合、connection:パラメータを使用して、どちらが応答元であるかを判断する必要があります。

+1

大丈夫ですので、デリゲートを使用するには非同期にする必要があります。あまりにも悪いです、私はフェッチをやっているバックグラウンドループに既にいるので(あなたが持ち出す他の問題も)。たぶん、2番目の選択肢を取って、まずローカルに強制しようとする方が簡単かもしれません。はい、ありがとう。 – DavidN

関連する問題