你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS緩存文件大小顯示功能和一鍵清理功能的實現方法

iOS緩存文件大小顯示功能和一鍵清理功能的實現方法

編輯:IOS開發綜合

緩存占用了系統的大量空間,如何實時動態的顯示緩存的大小,使用戶清晰的了解緩存的積累情況,有效的進行一鍵清理呢?
為方便讀者和未來自己更好理解,我們創建這樣場景。(在表視圖的清除緩存一單元格內創建一個UILabel *cacheLabel用於顯示當前緩存,當點擊單元格彈出提示框,點擊確定,清除緩存)。

  下面是實現代碼:

#pragma mark - 計算緩存大小
- (NSString *)getCacheSize
{
//定義變量存儲總的緩存大小
long long sumSize = 0;
//01.獲取當前圖片緩存路徑
NSString *cacheFilePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];
//02.創建文件管理對象
NSFileManager *filemanager = [NSFileManager defaultManager];
//獲取當前緩存路徑下的所有子路徑
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方法實現
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSLog(@"代碼執行到此");
//判斷點擊的是確認鍵
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僅做功能性展示,實時監測緩存大小,從其他界面跳轉到本頁面,也需要刷新下表視圖
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:YES];
[_tableView reloadData];
}

以上所述是小編給大家介紹的iOS緩存文件大小顯示功能和一鍵清理功能的實現方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網站的支持!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved