2

サーバーからJSONファイルを取得してテーブルに表示しようとしていますが、これは正常に機能しますが、何らかの理由でアプリの再起動後もAFNetworkingがJSONファイルをキャッシュしています。これを無効にするにはどうすればよいですか?

 NSURL *url = [NSURL URLWithString:@"http://?json"];

    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    AFJSONRequestOperation *operation = [AFJSONRequestOperation
                                         JSONRequestOperationWithRequest:request
                                         success:^(NSURLRequest *request, NSHTTPURLResponse *response, id responseObject)
                                         {

                                             self.dataget = [responseObject objectForKey:@"data"];
                                             [self.tableView reloadData];


                                         }
                                         failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id responseObject)
                                         {

                                             [HUD hideUIBlockingIndicator];
                                         }];

    [operation start];

json ファイルはおそらくサーバー側にキャッシュされていません。 Cache-Control: no-cache[CRLF]

4

3 に答える 3

0

AFNetworking は何もキャッシュしません。おそらく、応答のキャッシュ制御ヘッダーを確認する必要があります。私が間違っていなければ、あなたのサーバーは NSUrlConnection が考慮しているいくつかのキャッシュ制御ヘッダーを送信しています。サーバーにリクエストを行う前に、NSURLRequest のキャッシュ ポリシーを NSURLRequestReloadIgnoringLocalCacheData に設定することをお勧めします。

于 2013-08-08T19:23:08.240 に答える
0

AFNetworking はキャッシュを行いません。また、「Cache-Control」HTTP ヘッダーは、サーバーではなく、ページをキャッシュしないようにクライアントに指示します (つまり、AFNetworking)。

サーバーが JSON ページをキャッシュしているようです。

于 2013-08-08T13:22:13.757 に答える