Я пытаюсь понять, как использовать платформу загрузки URL-адресов для загрузки URL-адресов, использующих кеширование.
Я использую NSURLConnections и кормя их NSURLRequests. Я даже установил cachePolicy для этих запросов в NSURLRequestReturnCacheDataElseLoad. В первый раз, когда я загружаю запрос, он автоматически попадает в кеш ([NSURLCache sharedCache]
имеет его). Но в следующий раз, когда я загружаю тот же запрос, NSURLConnection, похоже, игнорирует то, что в кеше и перезагружает данные.
Предполагаю ли я вручную внедрять поиск кеша и возвращать кэшированные данные? Неужели NSURLConnection не делает этого? Или есть какой-то способ заставить инфраструктуру использовать кеш без проблем?
ОБНОВЛЕНИЕ: Пробовал следующее без успеха:
- Настройка политики кэша запросов на
NSURLRequestReturnCacheDataElseLoad
вместоNSURLRequestUseProtocolCachePolicy
- Повторное использование объекта запроса вместо создания нового
- Использование
+[NSURLConnection sendSynchronousRequest:returningResponse:error:]
вместо загрузки асинхронно