three20 TTPhotoViewController不缓存图像

时间:2011-11-18 05:29:22

标签: caching three20 photo ttphotoviewcontroller

我正在使用TTPhotoViewController来显示来自远程存储库的照片。如果我在远程存储库中更改照片的内容但仍使用相同的URL,则在我的iPhone客户端上,加载TTPhotoViewController时仍会显示原始手机。所以图像以某种方式缓存,有没有办法不这样做?

我还注意到TTTableStyledTextItem中有一个具有图像url的问题。

如果目标图像被更改,那么还是要清除缓存或自动刷新吗?

1 个答案:

答案 0 :(得分:4)

Three20使用名为TTURLCache的内部缓存,支持各种缓存,包括ETag等。 通过以下方式手动禁用缓存到磁盘:

[TTURLCache sharedCache].disableDiskCache = YES;

我不建议禁用缓存,而应该查看图像上的http缓存标头 - 默认情况下,Three20尊重它。我建议您处理它的一种方法是在图像网址中添加一个虚拟参数(假设您通过某种api获取图像网址)。然后只需附加一个虚拟版本号。每次版本chages你的应用程序将获得图像的新版本。 而不是:

  

http://yoururl.com/image.png

使用

  

http://yoururl.com/image.png?dummyversion=232