2016-10-05 12 views
10

Uygulamamdaki tüm görüntüler SDWebImage üzerinden yüklenmiş. İndirme ve önbellekleme harika çalışıyor ancak tüm uygulamadaki tüm önbelleğe alınmış görüntüleri temizleyebilen bir düğme yapmak istedim.SDWebImage'dan yüklenen tüm önbelleğe alınmış görüntüler nasıl temizlenir?

Sekme çubuğum görünümlerimden birinde UIButton olarak bir "Clear Cache" (Önbelleği Temizle) düğmem var. Bu düğmeye basıldığında, tüm önbelleğe alınmış görüntüler kaldırılır ve yeniden indirilmesi gerekir mi?

Swift'i kullanma.

Teşekkür ederiz!

cevap

24

tamamen berrak önbellek istiyorsanız şunları yapın:

Obj-c:

- (IBAction)clearCache:(id)sender { 
    [[SDImageCache sharedImageCache]clearMemory]; 
    [[SDImageCache sharedImageCache]clearDisk]; 
} 

Swift:

import SDWebImage 

@IBAction func clearCache(sender: UIButton) { 
    SDImageCache.sharedImageCache().clearMemory() 
    SDImageCache.sharedImageCache().clearDisk() 
} 

Swift 3.0

import SDWebImage 

@IBAction func clearCache(sender: UIButton) { 
    SDImageCache.shared().clearMemory() 
    SDImageCache.shared().clearDisk() 
} 
+0

Yanıt için teşekkürler. Bunu bir UIButton'a nasıl bağlarım? Bir çıkıştan mı geçiyor? – Miles

+0

Bunu deneyeceğim. Teşekkür ederim! – Miles

+0

Harika çalışıyor, teşekkürler! – Miles

0

bu deneyin:

@IBAction func actClearCache(sender:AnyObject) { 

    let objCache = SDImageCache.sharedImageCache() 
    objCache.clearMemory() 
    objCache.cleanDisk() 

} 
+0

Yanıt için teşekkürler. Bunu bir UIButton'a nasıl bağlarım? Bir çıkıştan mı geçiyor? – Miles

+0

IBAction'ı kullanın ve bağlanın! Güncelleme yanıtına bakın. –

+0

Anladım, teşekkürler! Şunu söyleyen bir hata alıyorum: Çözülmemiş tanımlayıcı 'SDImageCache' kullanımı. Köprüleme başlığımda onu içe aktarmam gerekir mi? – Miles