【发布时间】:2015-07-25 22:34:43
【问题描述】:
如果我打电话给:
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 将(我认为)对于一个请求,使用 Apple 的默认 NSURLCache,理论上它确实尊重 http 缓存标头。但这只是一个请求,因为 AFNetworking 会将结果扔到它自己的永久、非 http 感知缓存中。
如果我做错了或遗漏了什么,请告诉我。
【问题讨论】:
标签: ios caching afnetworking