私のアプリケーションにASIHttpRequestライブラリを使用しています。特定のリクエストに対してキャッシュを設定しようとしています。サーバーからデータが利用できない、またはインターネットに接続されていない)、それを超えるとキャッシュを拒否/削除し、使用しません。ASIHttpRequest - 特定の時間間隔の後にキャッシュを削除する
私は、オンラインでデータを取得できるかどうか、何らかの理由でサーバーがダウンしているか、インターネットに接続できない場合は、キャッシュを使用するかどうかをまず確認します。ただし、満了していない場合に限ります。キャッシュの有効期限は、データがキャッシュに保存されてから12時間後など、一定の時間に設定したいと考えています。私がこれまで試したどのような
は次のとおりです。
// Set secondsToCache on the request to override any expiry date for the content set by the server, and store
// this response in the cache until secondsToCache seconds have elapsed
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setSecondsToCache:60*60*24*30]; // Cache for 30 days
これは、ウェブサイト上の例から取られています。
しかし、上記のように、これは私が望む効果がないようです。
どのようにしてキャッシュからデータを削除したのですか?
何が起こっていますか? – JosephH
実際には効果がありません - 2分間隔でテストしたので、setSecondsToCacheで秒数を60 * 2に設定して3分待ってから、iPhoneを飛行機モードにしてもキャッシュデータが使用されます。だから、それは何の効果もないようです。 – SMSidat
要求にどのcachePolicyを設定していますか? – JosephH