J'affiche une liste d'icônes téléchargées sur le Web avec du texte sous forme de tableau. Les icônes peuvent être modifiées côté serveur et je dois les remplacer dès que de nouvelles icônes sont disponibles. J'essaie d'utiliser le code suivant:
[imgView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"table_avatar_icon"] options:SDWebImageCacheMemoryOnly];
Et appelez [[SDImageCache sharedImageCache] clearMemory];
Dans mon rappel de rafraîchissement, mais il ne purge pas le contenu du cache. Plus encore, même si je ferme l'application et la rouvre, l'image est toujours là.
Je n'ai trouvé qu'un seul moyen de vider le cache et c'est en appelant [[SDImageCache sharedImageCache] clearDisk];
. Ce qui ne fonctionne qu'après avoir fermé et rouvert l'application.
Comment puis-je forcer SDWebImage à ne pas utiliser la mise en cache du disque?
Localisation de la source en cas de problème. Il semble que j'ai été trompé par le motif Singleton utilisé dans SDImageCache
. Le cache de l'extension utilisé sur UIImageView est contrôlé par SDWebImageManager
qui a une variable d'instance de SDImageCache
. Si vous voulez vider le cache pour l'extension, vous devez appeler les méthodes de son imageCache
comme clearDisk et clearMemory.