我在刷新nimbus图像时遇到问题,并且不确定我是否正确删除了缓存的图像。上传新图像后,它仍然会在刷新几分钟或更长时间内显示旧图像。
[(SDURLCache*)[NSURLCache sharedURLCache] removeCachedResponseForRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
[[Nimbus imageMemoryCache] removeObjectWithName:url];
[profilePic setPathToNetworkImage:url];
哪种方式是删除缓存的正确方法?
答案 0 :(得分:0)
我为Nimbus的内存缓存添加了一个名为removeAllObjectsWithPrefix:
的新方法。您可以通过以下方式使用此方法强制使缓存中的图像过期:
[imageView.imageMemoryCache removeAllObjectsWithPrefix:imageUrl];
您需要知道该网址才能使其从缓存中过期。
这种方法之所以必要,是因为NINetworkImageView为图像缓存键添加了一个后缀,以区分不同的大小和内容模式。
https://github.com/jverkoey/nimbus/blob/master/src/networkimage/src/NINetworkImageView.m#L137