iOS 清理緩存

 //獲取路徑
 NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
 // 計算文件夾所有問價所占的空間
 CGFloat size = [self caculateFileCapacityAtPath:path];
 // 移除所有的緩存
 [self removeFileAtPath:path];

計算文件夾大小

-(CGFloat)caculateFileCapacityAtPath:(NSString *)path{
    //獲取所有文件的大小
    CGFloat totalsize = 0.0 ;
    NSFileManager *filemanage = [NSFileManager defaultManager];
    if ([filemanage fileExistsAtPath:path]) {
        NSArray *subpaths = [filemanage subpathsAtPath:path];
        NSEnumerator *enuerr = [subpaths objectEnumerator];
        NSString *subfilepath ;
        while (subfilepath = [enuerr nextObject]) {
            NSString *filepath = [path stringByAppendingPathComponent:subfilepath];
            NSDictionary *dic = [filemanage attributesOfItemAtPath:filepath error:nil];
            if (dic) {
                CGFloat filesize = [[dic objectForKey:@"NSFileSize"] floatValue];
                totalsize += filesize ;
            }else{
                NSLog(@"屬性不存在");
            }
        }
        // 返回單位為 M
        return totalsize/(1024.0 * 1024.0) ;
    }else{
        return 0.0 ;
    }
}

清除文件夾下的內容

/* 清除該路徑下所有的文件以及文件夾 */
-(void)removeFileAtPath:(NSString *)path{
    NSFileManager *filemanage = [NSFileManager defaultManager];
    if ([filemanage fileExistsAtPath:path]) {
        // 找出該文件夾下所有文件所在的子路徑
        NSArray *subpaths = [filemanage subpathsAtPath:path];
        /* NSEnumerator 用于快速遍歷subpaths中的元素  */
        NSEnumerator *enumerr = [subpaths objectEnumerator];
        /* 遍歷至最后一個對象之后 返回值為空 */
        NSString *subpath ;
        while (subpath = [enumerr nextObject]) {
            NSString *filepath = [path stringByAppendingPathComponent:subpath];
            [filemanage removeItemAtPath:filepath error:nil];
        }
    }else{
        NSLog(@"該文件夾不存在");
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • IOS清理緩存的幾種方法,有需要的朋友可以參考下。 - (long long) fileSizeAtPath:(N...
    紫云夕月閱讀 865評論 0 1
  • 我們在做項目開發的時候,經常會遇到設置清理緩存的問題,對于新手經常會考慮到什么數據存儲啊,內存之類一大堆無用的想法...
    OrekiSei閱讀 609評論 2 7
  • 這篇文章主要介紹 方面的知識.主要為剛接觸ios的小白提供思路,有誤之處請大家多多指教--->>>新鮮出爐的. 1...
    blocky閱讀 1,539評論 2 5
  • 不知道從什么時候開始,在朋友圈為好友點贊成了我們每天必須完成的任務,我們也樂此不疲,仿佛這是與人交往...
    莊心言閱讀 504評論 2 1
  • 文:趙苗 嗨!感謝你們還在,原諒我上周沒有更新。整個人已累成狗,剛緩過來就來找你們啦!哈哈! 去學科目二,幾天下來...
    趙苗閱讀 331評論 2 2