2016-10-05 2 views
10

У меня есть все изображения, загруженные в мое приложение через SDWebImage. Загрузка и кеширование отлично работают, но я хотел создать кнопку, которая может очистить все кэшированные изображения во всем приложении.Как очистить все кэшированные изображения, загруженные из SDWebImage?

У меня есть кнопка «Очистить кэш» как UIButton на одном из моих представлений на панели вкладок. Как я могу это сделать, когда эта кнопка используется, все кэшированные изображения удаляются и их необходимо повторно загрузить?

Использование Swift.

Спасибо!

ответ

24

Если вы хотите, чтобы полностью очистить кэш, выполните следующие действия:

Obj-C:

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

Swift:

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

Смежные вопросы