如何使缓存的nimbus网络映像失效

时间:2012-06-05 23:02:44

标签: ios nimbus-ios

我在刷新nimbus图像时遇到问题,并且不确定我是否正确删除了缓存的图像。上传新图像后,它仍然会在刷新几分钟或更长时间内显示旧图像。

[(SDURLCache*)[NSURLCache sharedURLCache] removeCachedResponseForRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];

[[Nimbus imageMemoryCache] removeObjectWithName:url];

[profilePic setPathToNetworkImage:url];

哪种方式是删除缓存的正确方法?

1 个答案:

答案 0 :(得分:0)

我为Nimbus的内存缓存添加了一个名为removeAllObjectsWithPrefix:的新方法。您可以通过以下方式使用此方法强制使缓存中的图像过期:

[imageView.imageMemoryCache removeAllObjectsWithPrefix:imageUrl];

您需要知道该网址才能使其从缓存中过期。

这种方法之所以必要,是因为NINetworkImageView为图像缓存键添加了一个后缀,以区分不同的大小和内容模式。

https://github.com/jverkoey/nimbus/blob/master/src/networkimage/src/NINetworkImageView.m#L137