iOS緩存文件大小顯示功能和一鍵清理功能的實現(xiàn)方法
緩存占用了系統(tǒng)的大量空間,如何實時動態(tài)的顯示緩存的大小,使用戶清晰的了解緩存的積累情況,有效的進(jìn)行一鍵清理呢?
為方便讀者和未來自己更好理解,我們創(chuàng)建這樣場景。(在表視圖的清除緩存一單元格內(nèi)創(chuàng)建一個UILabel *cacheLabel用于顯示當(dāng)前緩存,當(dāng)點擊單元格彈出提示框,點擊確定,清除緩存)。

下面是實現(xiàn)代碼:
#pragma mark - 計算緩存大小
- (NSString *)getCacheSize
{
//定義變量存儲總的緩存大小
long long sumSize = 0;
//01.獲取當(dāng)前圖片緩存路徑
NSString *cacheFilePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];
//02.創(chuàng)建文件管理對象
NSFileManager *filemanager = [NSFileManager defaultManager];
//獲取當(dāng)前緩存路徑下的所有子路徑
NSArray *subPaths = [filemanager subpathsOfDirectoryAtPath:cacheFilePath error:nil];
//遍歷所有子文件
for (NSString *subPath in subPaths) {
//1).拼接完整路徑
NSString *filePath = [cacheFilePath stringByAppendingFormat:@"/%@",subPath];
//2).計算文件的大小
long long fileSize = [[filemanager attributesOfItemAtPath:filePath error:nil]fileSize];
//3).加載到文件的大小
sumSize += fileSize;
}
float size_m = sumSize/(1000*1000);
return [NSString stringWithFormat:@"%.2fM",size_m];
}
#pragma mark - 清除緩存提示(UITableViewDataSourceDelegate)
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == 0) {
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"緩存清除" message:@"確定清除緩存?" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"確定",nil];
[alertView show];
}
}
#pragma mark - UIAlertViewDelegate方法實現(xiàn)
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSLog(@"代碼執(zhí)行到此");
//判斷點擊的是確認(rèn)鍵
if (buttonIndex == 1) {
//01......
NSFileManager *fileManager = [NSFileManager defaultManager];
//02.....
NSString *cacheFilePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];
//03......
[fileManager removeItemAtPath:cacheFilePath error:nil];
//04刷新第一行單元格
NSIndexPath *indexPath = [NSIndexPath indexPathForItem:0 inSection:0];
[_tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
//05 :04和05使用其一即可
[_tableView reloadData];//刷新表視圖
}
@pragma -mark -放置于.m文件首段較為合適,本DEMO僅做功能性展示,實時監(jiān)測緩存大小,從其他界面跳轉(zhuǎn)到本頁面,也需要刷新下表視圖
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:YES];
[_tableView reloadData];
}
以上所述是小編給大家介紹的iOS緩存文件大小顯示功能和一鍵清理功能的實現(xiàn)方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
iOS應(yīng)用開發(fā)中矢量圖的使用及修改矢量圖顏色的方法
這篇文章主要介紹了iOS應(yīng)用開發(fā)中矢量圖的使用及修改矢量圖顏色的方法,文中的方法是在Adobe Illustrator中繪制矢量圖然后導(dǎo)入Xcode中使用,需要的朋友可以參考下2016-03-03
iOS 對當(dāng)前webView進(jìn)行截屏的方法
下面小編就為大家?guī)硪黄猧OS 對當(dāng)前webView進(jìn)行截屏的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
iOS開發(fā)-調(diào)用系統(tǒng)相機和相冊獲取照片示例
這篇文章主要介紹了iOS開發(fā)-調(diào)用系統(tǒng)相機和相冊獲取照片示例的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02
iOS中長按調(diào)出菜單組件UIMenuController的使用實例
UIMenuController即是用來制作我們平時對文本長按屏幕后顯示出的復(fù)制粘貼等選項菜單,下面就來詳細(xì)整理一下iOS中長按調(diào)出菜單組件UIMenuController的使用實例:2016-06-06
簡單講解iOS應(yīng)用開發(fā)中的MD5加密的相關(guān)使用
這篇文章主要介紹了iOS應(yīng)用開發(fā)中的MD5加密的相關(guān)使用,示例代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-12-12

