Sweety

不争就是慈悲,不辩就是智慧,不闻就是清净,不看就是自在,不贪就是布施。...

清除缓存

//方法

声明属性:@property(nonatomic) float fileSize;

-(void)delAllFile{
    dispatch_async(
                   dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
                   , ^{
                       NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
                       NSLog(@"%@", cachPath);
                       
                       NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:cachPath];
                       NSLog(@"files :%d",[files count]);
                       for (NSString *p in files) {
                           NSError *error;
                           NSString *path = [cachPath stringByAppendingPathComponent:p];
                           if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
                               [[NSFileManager defaultManager] removeItemAtPath:path error:&error];
                           }
                       }
                       [self performSelectorOnMainThread:@selector(clearCacheSuccess) withObject:nil waitUntilDone:YES];});
}



//响应方法

//清除完成
-(void)clearCacheSuccess
{
    [self showTipInView:self.view tip:@"操作成功"];
}

//计算文件大小


#pragma mark - fun
//计算所有
-(void)fileSizeAll{
    NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSLog(@"%@", cachPath);
    
    NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:cachPath];
    NSLog(@"files :%d",[files count]);
   
     for (NSString *p in files) {
         _fileSize += [self folderSizeAtPath:p];

    }
    
 }
//文件
- (long long) fileSizeAtPath:(NSString*) filePath{
    NSFileManager* manager = [NSFileManager defaultManager];
    if ([manager fileExistsAtPath:filePath]){
        return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];
    }
    return 0;
}

//文件大小
- (float ) folderSizeAtPath:(NSString*) folderPath{
 
    
    NSFileManager* manager = [NSFileManager defaultManager];
    if (![manager fileExistsAtPath:folderPath]) return 0;
    NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath:folderPath] objectEnumerator];
    NSString* fileName;
    long long folderSize = 0;
    while ((fileName = [childFilesEnumerator nextObject]) != nil){
        NSString* fileAbsolutePath = [folderPath stringByAppendingPathComponent:fileName];
        folderSize += [self fileSizeAtPath:fileAbsolutePath];
    }
    return folderSize/(1024.0*1024.0);
}


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunnysu99/article/details/46800311
想对作者说点什么? 我来说一句

JSP清除缓存.txt

2010年11月14日 396B 下载

html清除缓存

2013年12月08日 253B 下载

OC清除缓存Demo

2016年08月17日 27KB 下载

清除缓存程序

2013年07月15日 733B 下载

清除缓存.bat

2014年03月22日 534B 下载

Swift清除缓存

2016年08月17日 24KB 下载

应用清除缓存代码

2016年06月27日 9KB 下载

异步加载和缓存

2013年03月06日 1.19MB 下载

没有更多推荐了,返回首页

不良信息举报

清除缓存

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭