2012-12-28 79 views
0

Facepalm。我一直在使用Github圖像下載器來顯示遠程圖像。 This is SDWebImage。我一直在玩這個一個半小時,顯然我完全失去了,如果有人能幫我弄明白這一點,我會永遠感激。在SDWebImage中清除緩存iOS應用程序

所以基本上,在框架的SDImageCache.h文件中,它設置爲緩存一週的圖像。如果您試圖頻繁更新圖像,則會出現問題,因爲如果圖像已被緩存,則不會下載。

關於堆棧溢出,我發現一堆人有同樣的問題,但到目前爲止,解決方案沒有奏效。幸運的是,提出這個問題的人發佈了他的解決方案來清空圖像緩存:調用「[SDWebImageManager.sharedManager.imageCache clearMemory]」。

我把這種方法放在我的主視圖控制器的.m文件中,希望它在調用圖像後清除緩存,以便更新。沒有骰子。我在ViewDidLoad之前嘗試了它,希望它能清除圖像並啓動下載。再次運氣不好。

任何意見我做錯了什麼?如果有幫助,這裏是我的實現文件的屏幕截圖!這讓我瘋狂。謝謝!

http://i.imgur.com/pETYL.png

+1

請不要對獲得「快速」幫助你的問題的引用。人們在這裏沒有任何幫助。如果你有時間尺度問題,就付一些錢。 (標題編輯) – occulus

回答

1

只是跟進的情況下,任何人發現這個搜索。要糾正這個問題,你想要做的是確保完整的SDWebImage包被移動到你的框架文件夾中。

在這一點上,您可以找到一個WebImageCache.m文件並將其定製爲您的特定緩存需求。

此外,如果您在Github上查看同一項目,則實際上可以安裝使用SDWebImageManager的「清除緩存」欄來使用戶清除緩存。在我的特殊情況下,這非常有用。

祝你好運!

+2

我以前做過這件事,而且是我能找到的改變緩存的唯一方法。但是,您應該詳細說明您需要更改哪部分代碼,以便爲未來的訪問者提供有用的答案。 –

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] 
相關問題