捂脸。我一直在使用Github图像下载器来显示远程图像。 This is SDWebImage。我一直在玩这个一个半小时,我完全迷失了,如果有人能帮助我解决这个问题,我将永远感激不尽。
基本上,在框架的SDImageCache.h文件中,它设置为缓存图像一周。如果您尝试频繁更新图像,则会出现问题,因为如果图像已经缓存,则无法下载。
在Stack Overflow上,我发现一群人有同样的问题,但到目前为止,解决方案还没有奏效。幸运的是,提出这个问题的人发布了他的解决方案来清空图像缓存:调用“[SDWebImageManager.sharedManager.imageCache clearMemory]”。
我将该方法放在我的主视图控制器的.m文件中,希望它在调用图像后清除缓存,以便更新。没有骰子。我也在ViewDidLoad之前尝试过它,希望能清除图像并启动下载。再没有运气了。
关于我做错的任何建议?这是我的实现文件的屏幕截图,如果这有帮助!这让我疯了。谢谢!
答案 0 :(得分:1)
如果有人发现此搜索,请立即跟进。要解决此问题,您要做的是确保将完整的SDWebImage包移动到框架文件夹中。
此时,您可以找到WebImageCache.m文件并根据您的特定缓存需求进行定制。
此外,如果您在Github上查看同一项目,您实际上可以安装一个“清除缓存”栏,该栏使用SDWebImageManager使用户能够清除缓存。在我的特定实例中,这非常有用。
祝你好运!答案 1 :(得分:0)
我不知道在2012年或2013年,但今天您只需调用传递所需的选项,例如SDWebImageRefreshCached
(尊重HTTP标头并刷新图像,即使它已经是缓存或使用相同的URL)或SDWebImageCacheMemoryOnly
(不缓存到磁盘,仅缓存到内存)
示例:
NSString *string = @"http://example.com/image.jpg";
[self.customImageView setImageWithURL:[NSURL URLWithString:string]
placeholderImage:nil
options:SDWebImageRefreshCached
progress:nil
completed:nil]