web-dev-qa-db-fra.com

Comment effacer toutes les images en cache chargées depuis SDWebImage?

Toutes les images sont chargées sur mon application via SDWebImage. Le téléchargement et la mise en cache fonctionnent très bien, mais je voulais créer un bouton permettant d'effacer toutes les images mises en cache dans l'application entière.

J'ai un bouton "Vider le cache" en tant que UIButton sur l'une de mes vues de barre d'onglets. Comment puis-je faire en sorte que lorsque ce bouton est exploité, toutes les images en cache soient supprimées et doivent être re-téléchargées?

Utiliser Swift.

Je vous remercie!

15
Miles

Si vous souhaitez vider complètement le cache, procédez comme suit:

Obj-c:

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

Rapide:

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()
}
38
guidev

Essaye ça: 

@IBAction func actClearCache(sender:AnyObject) {

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

}
1
Bista

Swift 4.2, Xcode 10

pod 'SDWebImage', '5.0.0-beta3'

import SDWebImage

 @IBAction func ClearCacheButtonClick(_ sender: UIButton) {
     SDImageCache.shared.clearMemory()
     SDImageCache.shared.clearDisk()
 }
0
Vishal Vaghasiya