iOS開發(fā)--清除緩存

很多app中都有清除緩存的功能,今天來說一下這種功能怎么操作,具體見如下代碼:

首先一般清除緩存之前會有一個提示,是否清理緩存

#pragma mark -緩存處理

//清楚緩存調(diào)用

- (void)clearCacheAction {

UIAlertView* alert = [[UIAlertViewalloc]initWithTitle:@"提示"message:@"是否清理緩存"delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"確定",nil];

alert.tag=CLEARCACHE_ALERT_TAG;

[alertshow];

}

然后寫提示的代理方法:

#pragma mark - UIAlertViewDelegate

- (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {

if(CLEARCACHE_ALERT_TAG== alertView.tag){

if(0== buttonIndex ){

}else{

[selfclearCache];

}

}

}

以下就是具體的清理緩存的方法了:

#pragma mark -

//清除緩存調(diào)用

- (void)clearCache {

[[[SDWebImageManagersharedManager]imageCache]clearDisk];

[[[SDWebImageManagersharedManager]imageCache]clearMemory];

[[CNToolsharedInstance]clearAllCache];

[selfpresentSuccessTips:@"緩存已清理"];

//修改顯示數(shù)據(jù)

NSIndexPath*indexPath = [NSIndexPathindexPathForRow:0inSection:1];

SELFSettingDefaultCell*cell = [self.tableViewcellForRowAtIndexPath:indexPath];

cell.subTitle.text= [selfcalculateCacheSize];

}

顯示出來的緩存大小是要計算的,計算方法如下:

//計算緩存大小

- (NSString*) calculateCacheSize {

NSIntegersize = [[SDImageCachesharedImageCache]getSize];

if(size <1024*1024*1024){//小于1G

CGFloataFloat = size/(1024*1024*1.0) ;

return[NSStringstringWithFormat:@"%.1fMB",aFloat];

}else{

CGFloataFloat = size/(1024*1024*1024*1.0) ;

return[NSStringstringWithFormat:@"%.1fG",aFloat];

}

}

通過以上代碼就可以實現(xiàn)清除緩存的功能了,快來試試吧~

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Bg 1)由于項目需求需要,需要在設置頁面其中一個cell里面展示緩存大小,并提供清除緩存功能,發(fā)現(xiàn)之前自己一直使...
    小小小阿博er閱讀 7,230評論 10 57
  • 概述在iOS開發(fā)中UITableView可以說是使用最廣泛的控件,我們平時使用的軟件中到處都可以看到它的影子,類似...
    liudhkk閱讀 9,300評論 3 38
  • #pragma mark - 第一步,計算緩存文件的大小 //首先獲取緩存文件的路徑 -(NSString *)g...
    破夕_____________閱讀 746評論 0 3
  • 《江山業(yè)·定安世》楔子 《江山業(yè)·定安世》第一章 恩賜 《江山業(yè)·定安世》第二章 錢莊
    顧清桓閱讀 159評論 0 0
  • 我們常常需要優(yōu)化控制臺的輸出樣式,比如方法名,方法行數(shù)等,這時候可以使用一些常用的dlog,在swift 3.0中...
    Jiubao閱讀 624評論 0 0

友情鏈接更多精彩內(nèi)容