Избежание кэшированных данных с NSURLRequest - PullRequest
1 голос
/ 26 мая 2011

У меня была эта проблема при разработке приложения, в котором запрос представлял собой простой URL-адрес, а ответ возвращал XML.

Я использовал [NSURLRequest sendsynchronousrequest], а заголовок запроса Cache-Control имел значение по умолчанию max-age81769 по умолчанию.Из-за этого я получил не последний XML, а старый XML.Safari и IE вернули старый XML, но Chrome и Firefox вернули обновленный последний XML.

Я догадался, почему IE и Safari вернули старый XML, потому что максимальный возраст Cache-Control был 81769, тогда как тот же заголовок при проверке в chrome или Firefox вернул 0.

Таким образом, я вручную установил значение max-age как 0 для поля заголовка и получил последний XML-код в качестве ответа.

Я хочу знать, является ли это лучшим решением или естьлюбой другой надежный способ получить последний ответ.

1 Ответ

1 голос
/ 26 мая 2011

Вы хотите посмотреть набор значений перечисления NSURLRequestCachePolicy.

В частности, вы можете создать объект NSURLRequest с помощью метода +[NSURLRequest requestWithURL:cachePolicy:timeoutInterval:] и указать NSURLRequestReloadIgnoringLocalCacheData или что-то подобное для политики кэширования.

...