我们目前的系统是这样的。 对象具有时间戳,用于指示已为应用更新图像。将图像上载到存储时,将更新此时间戳。旧图像将被新图像替换。
但是我们的iOS开发人员(Frank)有一个问题,他正在使用SDWebImage在他的单元格中加载图像。但是当他使用相同的路径并且对象中的图像时间戳更改时,SDWebImage不会重新加载图像。因为它使用URL缓存图像。
如何解决这个问题?
答案 0 :(得分:0)
您应该删除缓存的图片。 SDImageCache使您可以管理SDWebImage的缓存数据,它具有可以删除缓存图像的属性。
当然,您可以使用网址缓存图像或只显示一个图像。 我项目中的代码如下。
SDImageCache * cache = [SDImageCache sharedImageCache];
[cache removeImageForKey:“要删除的图像的缓存Url”fromDisk:YES withCompletion:nil];
它适用于我,它不会让你删除所有缓存的数据。 希望它有所帮助
答案 1 :(得分:0)
我有完全相同的问题。
如果您使用数据库来引用存储对象,则以下内容可能对您有用。
虽然图像的名称不会更改,但单独的下载链接会发生变化(在Firebase控制台的元数据中找到)。不使用标准的Firebase存储方法,而是使用带有SDImageCache的唯一下载URL。每次更新图像时,此网址都会刷新,SDImageCache会将其识别为新网页!
3>c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\GdiplusPath.h(145): error C2872: 'byte': ambiguous symbol
3>c:\program files (x86)\windows kits\10\include\10.0.15063.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
3>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.11.25503\include\cstddef(15): note: or 'std::byte'