Кажется, я вызываю:
setImageWithURLRequest:(NSURLRequest *)urlRequest
placeholderImage:(UIImage *)placeholderImage
success:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image))success
failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error))failure
То, что результирующее изображение будет помещено в AFNetworking AFImageCache независимо от какой-либо политики кэша, установленной в заголовках HTTP-ответов, останется там и будет извлечено оттуда независимо от возраста при последующих запросах на тот же URL.
Является ли это точным?
Единственное, что заставляет его игнорировать кеш, заключается в установке NSURLRequestReloadIgnoringCacheData
или NSURLRequestReloadIgnoringLocalAndRemoteCacheData
в запросе (кстати, результирующее изображение будет повторно кэшировано AFNetworking, так что один из способов заставить его обновить его кеш).
Теперь, если AFImageCache не возвращает никакого удара, то AFNetworking (я думаю), для одного запроса, использует NSURLCache Apple по умолчанию, который теоретически уважает заголовки кэша HTTP. Но это всего лишь один запрос, поскольку AFNetworking затем выдает результат в свой собственный постоянный кеш, не относящийся к HTTP.
Сообщите мне, если я ошибаюсь или что-то пропустил.