ios – AFNetworking中的缓存UIImageView不遵守任何http缓存策略? (希望我错了)

看来如果我打电话:
setimageWithURLRequest:(NSURLRequest *)urlRequest
              placeholderImage:(UIImage *)placeholderImage
                       success:(void (^)(NSURLRequest *request,NSHTTPURLResponse *response,UIImage *image))success
                       failure:(void (^)(NSURLRequest *request,NSError *error))failure

无论在HTTP响应标头中设置任何高速缓存策略,并且随着对同一个URL的请求,它们将保留在那里,并且从那里获取,无论年龄如何,所得到的映像将被放入AFNetworking的AFImageCache中.

是准确吗?

强制忽略缓存的唯一办法是在请求中设置NSURLRequestReloadIgnoringCacheData或NSURLRequestReloadIgnoringLocalAndRemoteCacheData(通过AFNetworking获得重新缓存的方式,这样一来,强制它刷新它的缓存).

现在,确定如果AFImageCache没有返回任何命中,那么AFNetworking将(我想)只有一个请求,使用苹果公司的认NSURLCache,这在理论上确实遵循http缓存头.但这只是一个请求,因为AFNetworking然后将结果抛出到其自己的永久的非HTTP感知缓存中.

让我知道如果我有这个错误或错过任何东西.

解决方法

据AFNetworking的开发人员Matt说,解决方案是通过将共享映像缓存设置为符合AFImageCache协议的另一个类来覆盖该行为. https://github.com/AFNetworking/AFNetworking/issues/2731

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...