/*
缓存:
*/
//1. 显示缓存大小
- (float)filePath
{
NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
return [self folderSizeAtPath:cachPath];
}
//2. 遍历文件夹获得文件大小,返回多少M
- (float)folderSizeAtPath:(NSString*)folderPath
{
NSFileManager *manager = [NSFileManager defaultManager];
if (![manager fileExistsAtPath:folderPath])
{
return 0;
}
NSEnumerator *childerFilesEnumerator = [[manager subpathsAtPath:folderPath] objectEnumerator];
NSString *fileName;
long long folderSize = 0;
while ((fileName = [childerFilesEnumerator nextObject]) != nil)
{
NSString *fileAbsolutePath = [folderPath stringByAppendingPathComponent:fileName];
folderSize += [self fileSizeAtPath:fileAbsolutePath];
}
return folderSize/(1024.0*1024.0);
}
//3. 需要 计算单个文件的大小
- (long long)fileSizeAtPath:(NSString *)filePath
{
NSFileManager *manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath:filePath])
{
return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];
}
return 0;
}
//4. 清除缓存
- (void)clearFile
{
NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:cachPath];
NSLog(@"cachPath = %@",cachPath);
for (NSString *p in files)
{
NSError *error = nil;
NSString *path = [cachPath stringByAppendingPathComponent:p];
if ([[NSFileManager defaultManager] fileExistsAtPath:path])
{
[[NSFileManager defaultManager] removeItemAtPath:path error:&error];
}
}
[self performSelectorOnMainThread:@selector(clearCachSuccess) withObject:nil waitUntilDone:YES];
}
计算及清除缓存
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。