2016-10-05 5 views
10

내 응용 프로그램에 SDWebImage를 통해 모든 이미지가로드되었습니다. 다운로드 및 캐싱은 훌륭하게 작동하지만 전체 앱에서 캐시 된 모든 이미지를 지울 수있는 버튼을 만들고 싶었습니다.SDWebImage에서로드 된 캐시 된 이미지를 모두 지우는 방법은 무엇입니까?

내 탭 막대보기 중 하나에서 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

관련 문제