web-dev-qa-db-ja.com

SDWebImageからロードされたすべてのキャッシュされた画像をクリアする方法は?

SDWebImageを介してすべての画像をアプリにロードしました。ダウンロードとキャッシュはうまく機能しますが、アプリ全体でキャッシュされたすべての画像をクリアできるボタンを作成したかったのです。

タブバービューの1つにUIButtonとして「キャッシュのクリア」ボタンがあります。このボタンをタップすると、キャッシュされたすべての画像が削除され、再ダウンロードする必要があるようにするにはどうすればよいですか?

Swiftを使用します。

ありがとうございました!

18
Miles

キャッシュを完全にクリアする場合は、次の手順を実行します。

Obj-c:

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

迅速:

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

Swift 4.2、Xcode 1

ポッド「SDWebImage」、「5.0.0-beta3」

import SDWebImage

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

これを試して:

@IBAction func actClearCache(sender:AnyObject) {

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

}
1
Bista