2016-10-05 25 views
10

Tôi có tất cả hình ảnh được tải trên ứng dụng của mình qua SDWebImage. Việc tải xuống và bộ nhớ đệm hoạt động tốt, nhưng tôi muốn tạo một nút có thể xóa tất cả các hình ảnh được lưu trong bộ nhớ cache trong toàn bộ ứng dụng.Làm cách nào để xóa tất cả các hình ảnh được lưu trong bộ nhớ cache được tải từ SDWebImage?

Tôi có nút "Xóa bộ nhớ cache" làm UIButton trên một trong các chế độ xem thanh tab của tôi. Làm thế nào tôi có thể làm cho nó như vậy khi nút này được khai thác, tất cả các hình ảnh được lưu trữ được loại bỏ và cần phải được tải lại?

Sử dụng Swift.

Cảm ơn bạn!

Trả lời

24

Nếu bạn muốn hoàn toàn rõ ràng bộ nhớ cache làm như sau:

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

Cảm ơn bạn đã phản hồi. Làm thế nào tôi sẽ liên kết này lên đến một UIButton? Nó sẽ được thông qua một lối thoát? – Miles

+0

Sẽ thử điều này. Cảm ơn bạn! – Miles

+0

Hoạt động tuyệt vời, cảm ơn bạn! – Miles

0

Hãy thử điều này:

@IBAction func actClearCache(sender:AnyObject) { 

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

} 
+0

Cảm ơn bạn đã trả lời. Làm thế nào tôi có thể liên kết này lên đến một UIButton? Nó sẽ được thông qua một lối thoát? – Miles

+0

Sử dụng IBAction và kết nối! Xem câu trả lời cập nhật. –

+0

OK, cảm ơn! Tôi nhận được một lỗi nói rằng: Sử dụng định danh chưa được giải quyết 'SDImageCache'. Tôi có cần phải nhập nó trong tiêu đề bắc cầu của tôi không? – Miles

Các vấn đề liên quan