0

iPhone アプリでネットワーク呼び出しを行っていますが、応答がキャッシュされているかのように動作していることに気付きました。たとえば、ボタンを押してサイズが小さいものをダウンロードすると (したがって、ダウンロード時に知覚的な遅延が発生します)、最初は期待どおりに動作し、1 ~ 2 秒かかります。このプロセスを繰り返すと、ほぼ瞬時に終了します。サーバー側に依存し、アプリから更新されたファイルの一部も更新しましたが、変更は表示されません。

私のネットワーク コードは非常に単純で、キャッシュを使って何もしていません。[NSURLConnection sendAsynchronousRequest:...これは基本的に、リクエストが未処理のときにシステム ネットワーク アクティビティ インジケータが表示されるようにするためのログとロジックを備えた便利なラッパーです。詳細については、こちらを参照してください (GitHub リンク)。

キャッシュの私の推測は、この動作の有効な推測ですか? もしそうなら、それはデバイスで起こっている可能性がありますか?無効にすることはできますか? 必要なときにデータを実際に更新したい。

4

1 に答える 1

3

にキャッシュポリシーを設定していますNSURLRequestか?

NSURLRequest *myRequest = [NSURLRequest requestWithURL:myURL cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:90];

NSURLRequest Docsを見て、使用できるさまざまなキャッシュポリシーのセクションNSURLRequestCachePolicyを見てください。

于 2013-01-18T23:33:53.477 に答える