Я использую AfNetworking, я делаю вызов для новых данных, но я все время возвращаю кешированный результат. Так что, если я нахожусь в VC, который показывает данные, вернитесь к корню и измените данные на моем сервере, я тогда жду 30 секунд, и когда я вернусь в VC, я увижу старые данные. Если я ударил URL-адрес в браузере, я вижу правильные данные. Если я заново запустил приложение, я увижу изменения в данных.NSURLRequest: всегда возвращается ответ NSCachedURLResponse.
Мой ответ от моего сервера отправляет заголовок управления кэшем: Cache-Control: макс-возраст = 10, общественного
Из того, что я могу сказать, что я всегда всегда получаю NSCachedURLResponse назад и что кэш не прислушиваясь к моей политике управления кэшем.
В моей AppDelegate я поставил свою SharedURLCache:
NSURLCache *URLCache = [[NSURLCache alloc] initWithMemoryCapacity:8 * 1024 * 1024 diskCapacity:8 * 1024 * 1024 diskPath:nil];
[NSURLCache setSharedURLCache:URLCache];
Как установить URLRequest:
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0];
Я не делать ничего другого с участием NSURLCache.
Любые идеи?
BooRanger
У меня создалось впечатление, что если я установлю NSURLRequestUseProtocolCachePolicy, он будет использовать мой заголовок «Cache-Control» для установки кеша. – BooRanger
NSURLRequestReloadIgnoringLocalAndRemoteCacheData тоже не работает, возможно, мне что-то не хватает в другом месте ... Cheers – BooRanger
Прошло более 10 секунд? – ipmcc