2011-11-18 74 views
1

我正在使用TTPhotoViewController來顯示來自遠程存儲庫的照片。如果我在遠程存儲庫中更改照片的內容,但仍使用相同的URL,則在我的iPhone客戶端上,加載TTPhotoViewController時仍會顯示原始手機。所以圖像以某種方式被緩存,有沒有辦法做到這一點?three20 TTPhotoViewController不緩存圖像

我也注意到TTTableStyledTextItem中有一個具有URL到圖像的問題。

因此,如果目標圖像被改變,清除緩存或自動刷新還是有嗎?

回答

4

Three20使用名爲TTURLCache的內部緩存,該緩存支持各種緩存,包括ETag等。 通過手動禁用緩存到磁盤:

[TTURLCache sharedCache].disableDiskCache = YES;

我不會建議禁用緩存,而是你應該看看你的HTTP緩存頭在你的圖像 - 默認Three20是尊重它。我建議你處理它的一種方法是向你的圖像URL添加一個虛擬參數(假設你通過某種類型的api獲取圖像url)。那麼只需在其中添加一個虛擬版本號即可。每次版本更新時,您的應用都會獲得新版本的圖像。而不是 :

http://yoururl.com/image.png

使用

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