我们在很多软件里面都可以看到一个功能就是清除缓存数据的大小。
下面我给大家截了张图
Snip20160904_9.png
我们需要获取软件的沙盒路径,一般我们都是将缓存放入到Library/Caches文件夹下面
有时候我们会在Library/Caches文件件下面建立一些我们自己需要缓存的文件夹或者是文件。
第一步:弄一个分类,扩展一个计算文件大小的功能
Snip20160904_7.png
Snip20160904_8.png
第二步:在.h文件里面提供出一个方法方便外面调用
Snip20160904_5.png
- (NSInteger)fileSize;
第三步:在.m文件里面实现方法
Snip20160904_6.png
- (NSInteger)fileSize
{
// 文件管理者
NSFileManager *mgr = [NSFileManager defaultManager];
// 是否为文件夹
BOOL isDirectory = NO;
// 这个路径是否存在
BOOL exists = [mgr fileExistsAtPath:self isDirectory:&isDirectory];
// 路径不存在
if (exists == NO) return 0;
if (isDirectory) { // 文件夹
// 总大小
NSInteger size = 0;
// 获得文件夹中的所有内容
NSDirectoryEnumerator *enumerator = [mgr enumeratorAtPath:self];
for (NSString *subpath in enumerator) {
// 获得全路径
NSString *fullSubpath = [self stringByAppendingPathComponent:subpath];
// 获得文件属性
size += [mgr attributesOfItemAtPath:fullSubpath error:nil].fileSize;
}
return size;
} else { // 文件
return [mgr attributesOfItemAtPath:self error:nil].fileSize;
}
}
备注:
如果有不足或者错误的地方还望各位读者批评指正,可以评论留言,笔者收到后第一时间回复。
QQ/微信:2366889552 /lan2018yingwei。
简书号:凡尘一笑:[简书]
http://www.jianshu.com/users/0158007b8d17/latest_articles
感谢各位观众老爷的阅读,如果觉得笔者写的还凑合,可以关注或收藏一下,不定期分享一些好玩的实用的demo给大家。
文/凡尘一笑(简书作者)
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
网友评论