ios 清理快取功能實現

2021-10-08 02:24:29 字數 2240 閱讀 9749

1. 計算 沙盒 快取大小 ,可能是 耗時 操作,放入子執行緒

- (void)viewdidload 

// 獲取 檔案、資料夾 屬性

nsdictionary* attrss= [mgr attributesofitematpath:dirpath error:nil];

/**attrss=

*/nslog(@"attrss=%@",attrss);

nsinteger size=0;

if(isdirectory)else

dispatch_async(dispatch_get_main_queue(), ^);

});}

2. 不屬於  自己的東西  檔案目錄不要 去清除,

避免出現問題 

把上面**封裝到分類中實現: 

nsstring+xmgextension.h

#import @inte***ce nsstring (xmgextension)

- (unsigned long long)filesize;

@end

nsstring+xmgextension.m

//

// nsstring+xmgextension.m

// 5期-百思不得姐

//// created by xiaomage on 15/11/16.

//#import "nsstring+xmgextension.h"

@implementation nsstring (xmgextension)

//- (unsigned long long)filesize

//// } else

//

// return size;

//}- (unsigned long long)filesize

} else

return size;

}@end

cell  封裝: 

xmgclearcachecell.h

#import @inte***ce xmgclearcachecell : uitableviewcell

@end

xmgclearcachecell.m

#import "xmgclearcachecell.h"

#import "nsstring+xmgextension.h"

#define xmgcustomcachefile @"/users/denganzhi/desktop/內容"

@implementation xmgclearcachecell

- (instancetype)initwithstyle:(uitableviewcellstyle)style reuseidentifier:(nsstring *)reuseidentifier

else if (size >= pow(10, 6)) else if (size >= pow(10, 3)) else

// 生成文字

nsstring *text = [nsstring stringwithformat:@"清除快取(%@)", sizetext];

// 回到主線程

dispatch_async(dispatch_get_main_queue(), ^);

});}

return self;

}/**

* 清除快取

*/- (void)clearcache

); });

// }];

}/**

* 當cell重新顯示到螢幕上時, 也會呼叫一次layoutsubviews

* * 當cell 消失的時候動畫會 停止 , 當cell 出現的時候 不會呼叫 initwithstyle方法,而是 會呼叫layoutsubviews 方法,重新啟動動畫

*/- (void)layoutsubviews

@end

cell 使用:

- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath
效果圖:

iOS快取清理功能

移動應用在處理網路資源時,一般都會做離線快取處理,其中以快取最為典型,其中很流行的離線快取框架為sdwebimage。今天介紹的離線快取功能的實現,主要分為快取檔案大小的獲取 刪除快取檔案的實現。由於快取檔案存在沙箱中,我們可以通過nsfilemanager api來實現對快取檔案大小的計算。flo...

iOS開發 清理快取功能的實現

原文 移動應用在處理網路資源時,一般都會做離線快取處理,其中以快取最為典型,其中很流行的離線快取框架為sdwebimage。今天介紹的離線快取功能的實現,主要分為快取檔案大小的獲取 刪除快取檔案的實現。獲取快取檔案的大小 由於快取檔案存在沙箱中,我們可以通過nsfilemanager api來實現對...

iOS開發 清理快取功能的實現

移動應用在處理網路資源時,一般都會做離線快取處理,其中以快取最為典型,其中很流行的離線快取框架為sdwebimage。今天介紹的離線快取功能的實現,主要分為快取檔案大小的獲取 刪除快取檔案的實現。獲取快取檔案的大小 由於快取檔案存在沙箱中,我們可以通過nsfilemanager api來實現對快取檔...