Giter Site home page Giter Site logo

coderzhuxh / xhnetworkcache Goto Github PK

View Code? Open in Web Editor NEW
181.0 2.0 63.0 327 KB

一行代码将网络数据持久化 - 支持数据同步/异步写入及更新、缓存数据读取、获取缓存数据大小、缓存数据清除.

License: MIT License

Objective-C 97.10% Ruby 2.90%
pod objective-c

xhnetworkcache's Introduction

XHNetworkCache

一行代码持久化网络数据

AppVeyor Carthage compatible Version Status Support Pod Platform Pod License

==============

Swift版本请戳这里>>> https://github.com/CoderZhuXH/XHNetworkCacheSwift

技术交流群(群号:537476189)

更新记录:

  • 2020.01.10 -- v1.5.0 -->增加检测该数据是否已缓存接口...
  • 2017.09.30 -- v1.4.0 -->已知问题修复及优化...
  • 2017.06.16 -- v1.3.0 -->缓存及获取缓存接口增加请求参数(可选)...
  • 2016.09.04 -- v1.2.3 -->增加+(NSString *)cacheSizeFormat方法...
  • 2016.08.12 -- v1.2.1 -->增加获取缓存路径接口...
  • 2016.07.06 -- v1.2 -->增加异步写入/更新缓存接口...
  • 2016.07.01 -- v1.1 -->1.增加手动清除缓存接口;2.增加获取缓存大小接口...
  • 2016.06.24 -- v1.0

使用方法:

1.(同步)写入/更新

//将数据(同步)写入磁盘缓存(参数1:服务器返回的JSON数据, 参数2:数据请求URL,参数3:数据请求参数(没有传nil)
//[按APP版本号缓存,不同版本APP,同一接口缓存数据互不干扰]
    BOOL result = [XHNetworkCache saveJsonResponseToCacheFile:self.responseObject andURL:self.URL params:self.params];
    if(result)
    {
        NSLog(@"(同步)写入/更新缓存数据 成功");
    }
    else
    {
         NSLog(@"(同步)写入/更新缓存数据 失败");
    }

2.(异步)写入/更新

//将数据(异步)写入磁盘缓存(参数1:服务器返回的JSON数据, 参数2:数据请求URL,参数3:数据请求参数(没有传nil)
//[按APP版本号缓存,不同版本APP,同一接口缓存数据互不干扰]
    [XHNetworkCache save_asyncJsonResponseToCacheFile:self.responseObject andURL:self.URL params:self.params completed:^(BOOL result) {
        
        if(result)
        {
            NSLog(@"(异步)写入/更新缓存数据 成功");
        }
        else
        {
            NSLog(@"(异步)写入/更新缓存数据 失败");
        }
        
    }];

3.该数据是否已缓存

//获取缓存数据(参数1:请求URL,参数2:请求参数,返回:YES已缓存,NO未缓存)
 BOOL result = [XHNetworkCache checkCacheWithURL:self.URL params:self.params];

4.获取缓存数据

//获取缓存数据(参数1:请求URL,参数2:请求参数,返回:JSON数据)
id JsonCache = [XHNetworkCache cacheJsonWithURL:self.URL params:self.params];

5.获取缓存路径

//获取缓存路径
 NSString *path = [XHNetworkCache cachePath];

6.清除缓存

//清除缓存
[XHNetworkCache clearCache];

7.获取缓存总大小(M)

//获取缓存大小(M)
float cacheSize = [XHNetworkCache cacheSize];
//或者(以..kb/..M)形式获取
NSString *cacheSizeFormat = [XHNetworkCache cacheSizeFormat];

安装

1.手动添加:

  • 1.将 XHNetworkCache 文件夹添加到工程目录中
  • 2.导入 XHNetworkCache.h

2.CocoaPods:

  • 1.在 Podfile 中添加 pod 'XHNetworkCache'
  • 2.执行 pod install 或 pod update
  • 3.导入 XHNetworkCache.h

3.Tips

  • 1.如果发现pod search XHLaunchAd 搜索出来的不是最新版本,需要在终端执行pod repo update命令更新本地spec缓存(需要几分钟),然后再搜索就可以了
  • 2.如果你发现你执行pod install后,导入的不是最新版本,请删除Podfile.lock文件,在执行一次 pod install

系统要求

  • 该项目最低支持 iOS 7.0 和 Xcode 7.0

许可证

XHNetworkCache 使用 MIT 许可证,详情见 LICENSE 文件

xhnetworkcache's People

Contributors

bryant1410 avatar coderzhuxh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

xhnetworkcache's Issues

获取缓存大小

请问下楼主,能否将获取缓存大小,如果是不到1M的话用k来显示吗,而不是用0.0000xM,多谢了

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.