美文网首页
封装计算缓存数据大小

封装计算缓存数据大小

作者: 凡尘一笑 | 来源:发表于2016-09-04 23:00 被阅读22次

    我们在很多软件里面都可以看到一个功能就是清除缓存数据的大小。
    下面我给大家截了张图


    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给大家。

    文/凡尘一笑(简书作者)

    著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

    相关文章

      网友评论

          本文标题:封装计算缓存数据大小

          本文链接:https://www.haomeiwen.com/subject/glckettx.html