SDWebImage est largement utilisé comme bibliothèque de cache d'images. Je pense qu'il existe de nombreuses scènes qui utilisent principalement les méthodes suivantes comme méthodes pour vider le cache.
SDImageCache.sharedImageCache().clearMemory()
SDImageCache.sharedImageCache().clearDisk()
Mais si vous souhaitez vider le cache pour une UIImageView particulière Effacer tous les caches un par un coûte cher, J'ai essayé de savoir comment vider le cache d'une UIImageView spécifique.
Ceci peut être réalisé en utilisant la méthode suivante.
SDImageCache.shared.removeImageFromDisk(forKey: String)
SDImageCache.shared.removeImageFromDisk(forKey: String)
L'argument forKey
(cacheKey) semble être l'URL définie dans UIImageView.
▼ Document officiel
The cache key is an application unique identifier for the image to cache. It is generally the absolute URL of the image.
Je suis un peu inquiet pour généralement
, mais lol (probablement parce que vous pouvez spécifier la clé lors de la mise en cache?)
J'ai pu vider le cache en implémentant comme suit.
if let cacheKey = uiimageView.sd_imageURL?.absoluteString {
SDImageCache.shared.removeImageFromDisk(forKey: cacheKey)
SDImageCache.shared.removeImageFromDisk(forKey: cacheKey)
}
Recommended Posts