NSURLConnectionを使用しているときにスティッキーキャッシュに問題があります。サーバーだ、それを送信し、オブジェクト、それはJSONに接続し、引っ張る、すべてが正常に動作表面にNSURLConnectionスティッキーキャッシュ
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
:私はそのようにのような接続を行う
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60];
[request setHTTPMethod:@"POST"];
[request setValue:@"text/javascript,application/json,application/javascript;q=0.9,*/*;q=0.8" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: requestData];
:私は、次の行を使用してNSMutableURLRequestを作成します方法。サーバー上のjsonオブジェクトを更新して別のノードが含まれている場合、アプリケーションを介して上記のようなURLを要求すると、jsonオブジェクトのキャッシュされたバージョンが返されます。
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
で受信したデータを出力することにより証明として、私は、要求されたURLにタイムスタンプを追加しようとしましたが、まだキャッシュされたバージョンを受け取りました。私は受け取られたData varを各要求の前にnilにリセットして、connection:didReceiveDataでvarを再初期化していますが、まだキャッシュされたバージョンを取得しています。
私も何のキャッシュを強制しないために、デリゲートメソッドを設定します。
- (NSCachedURLResponse *) connection:(NSURLConnection *)connection
willCacheResponse:(NSCachedURLResponse *)cachedResponse{
return nil;
}
編集:私はブラウザに要求されたURLを押すことで変更された応答を検証したが、その後もアプリがまだキャッシュされたデータを使用しています。
私の質問は、キャッシュを完全に破壊する方法です。
おかげで、 ブルース