2016-06-01 2 views
0

мой код выглядитNSURLRequestReloadIgnoringLocalCacheData не работает

if([[self cache] isEqualToNumber:[[NSNumber alloc] initWithInt:1]]) 
{ 
    [[NSURLCache sharedURLCache] setDiskCapacity:4 * 1024 * 1024]; 
    [[NSURLCache sharedURLCache] setMemoryCapacity:32 * 1024 * 1024]; 
    [self setRequestObj:[NSURLRequest requestWithURL:loadUrl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]]; 
} 
else [self setRequestObj:[NSURLRequest requestWithURL:loadUrl cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0]]; 

Мой еще часть не работает. Почему мой UIWebView не игнорирует мой локальный кеш?

Каждый раз, когда я посещал тестирование, мое приложение не загружается из исходного источника. Он загружает только index.html, но связанные изображения только при первом посещении.

В чем моя проблема?

ответ

0

Флаг NSURLRequestReloadIgnoringLocalCacheData влияет только на один запрос, а не на будущие запросы. Таким образом, это работает так, как ожидалось. Если вы хотите отключить другое кэширование, единственный способ, которым я это знаю, - реализовать NSURLProtocol, который перехватывает HTTP/HTTPS-запросы, изменяет их идентифицируемым образом (например, добавляет пользовательский заголовок), а затем повторно отправляет их , Это не для слабонервных.

Вы, вероятно, лучше всего продувкой кэша: How to clear UIWebView cache?

0

У меня была такая же проблема, я думаю, что это, вероятно, ошибка UIWebView. Потому что после того, как я изменил его WKWebView, NSURLRequestReloadIgnoringLocalCacheData работает!

 Смежные вопросы

  • Нет связанных вопросов^_^