我想使用AlamofireImage从url下载图像,然后将其缓存在设备磁盘空间中。我阅读了几篇关于此的文章,发现AlamofireImage在ImageDownloader的帮助下支持这一点。类(class)。给出了最有趣的信息inthisSOanswer所以我尝试为ImageDownloader设置一个自定义的NSURLCache,这样它就可以将图像直接缓存到磁盘上。我通过将内存容量设置为0来做到这一点。然后我使用这个自定义ImageDownloader下载图像。我为磁盘路径指定的文件夹是在磁盘上创建的,但不幸的是它仍然是空的,并且图像没有以任何方式缓存。**编辑:**请务必注意,
来自服务器的所有HTTP响应都带有header,通知我们的应用不要缓存响应:Cache-Control:no-cachePragma:no-cacheExpires:0因此,如果您使用默认缓存策略“NSURLRequestUseProtocolCachePolicy”发出NSUrlRequests,那么应用程序将始终从服务器加载数据。但是,我们需要缓存响应,显而易见的解决方案是将这些header设置为某个时间,例如(在后端),设置为10秒。但我对如何绕过此策略并将每个请求缓存10秒的解决方案感兴趣。为此你需要设置共享缓存。这可能在AppDelegatedidFinishLaunchin
来自服务器的所有HTTP响应都带有header,通知我们的应用不要缓存响应:Cache-Control:no-cachePragma:no-cacheExpires:0因此,如果您使用默认缓存策略“NSURLRequestUseProtocolCachePolicy”发出NSUrlRequests,那么应用程序将始终从服务器加载数据。但是,我们需要缓存响应,显而易见的解决方案是将这些header设置为某个时间,例如(在后端),设置为10秒。但我对如何绕过此策略并将每个请求缓存10秒的解决方案感兴趣。为此你需要设置共享缓存。这可能在AppDelegatedidFinishLaunchin