#ios #nsurlrequest #nsurlcache
#iOS #nsurlrequest #nsurlcache
Вопрос:
Прежде чем я продолжу писать свою собственную инфраструктуру — возможно ли выполнить запрос, вернуть его немедленно, если он кэширован, а затем вернуться позже, если кэшированная версия не соответствует текущей версии? Является ли такая функциональность встроенной в NSURLCache / NSURLRequest?
Другими словами:
- запросить MYTHING.json
- немедленно возвращайтесь с кэшированным MYTHING.json
- отображение пользователю
- верните снова, если кэшированная версия не была текущей
- обновить отображение
Ответ №1:
Вы можете запросить NSURLCache
напрямую через cachedResponseForRequest:
, чтобы узнать, есть ли что-нибудь уже в нем. Затем вы можете выполнить NSURLRequest
и посмотреть, отличается ли то, что возвращается. Но я не знаю о встроенном механизме, который дал бы вам сначала все, что уже есть в кэше, а затем все, что извлекается, если он определяет, что что-то должно быть извлечено, и если то, что было извлечено, отличается.