2016-10-05 11 views
10

私はすべての画像をSDWebImage経由で私のアプリにロードしました。ダウンロードとキャッシングはうまくいきますが、アプリ全体でキャッシュされたすべての画像をクリアできるボタンを作りたかったのです。SDWebImageから読み込まれたキャッシュされたすべての画像を消去するにはどうすればよいですか?

私は、タブバービューの1つにUIButtonとして「キャッシュクリア」ボタンを持っています。このボタンをタップすると、キャッシュされたすべてのイメージが削除され、再ダウンロードする必要があります。

スイフトを使用します。

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

答えて

24

を:

の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() 
} 

スウィフト3.0

import SDWebImage 

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

お返事ありがとうございます。これをUIButtonにどのようにリンクすればよいですか?それはコンセントを通っているだろうか? – Miles

+0

これを試してみます。ありがとうございました! – Miles

+0

素晴らしい作品です、ありがとうございます! – Miles

0

この試してみてください:あなたは完全にクリアキャッシュしたい場合は、以下のん

@IBAction func actClearCache(sender:AnyObject) { 

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

} 
+0

お返事ありがとうございます。これをUIButtonにどのようにリンクできますか?それはコンセントを通っているだろうか? – Miles

+0

IBActionを使用して接続してください!アップデートの回答を参照してください。 –

+0

ありがとう!未解決の識別子 'SDImageCache'を使用しています。ブリッジヘッダーにインポートする必要がありますか? – Miles

関連する問題