# XHNetworkCache
**Repository Path**: CoderZhuXH/XHNetworkCache
## Basic Information
- **Project Name**: XHNetworkCache
- **Description**: 一行代码将网络数据持久化 - 支持数据同步/异步写入及更新、缓存数据读取、获取缓存数据大小、缓存数据清除.
- **Primary Language**: Objective-C
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2020-01-10
- **Last Updated**: 2022-03-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# XHNetworkCache
#### 一行代码持久化网络数据
[](https://github.com/CoderZhuXH/XHNetworkCache)
[](https://github.com/CoderZhuXH/XHNetworkCache)
[](http://cocoadocs.org/docsets/XHNetworkCache)
[](https://github.com/CoderZhuXH/XHNetworkCache)
[](http://cocoadocs.org/docsets/XHNetworkCache)
[](https://github.com/CoderZhuXH/XHNetworkCache/blob/master/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.(同步)写入/更新
```objc
//将数据(同步)写入磁盘缓存(参数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.(异步)写入/更新
```objc
//将数据(异步)写入磁盘缓存(参数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.该数据是否已缓存
```objc
//获取缓存数据(参数1:请求URL,参数2:请求参数,返回:YES已缓存,NO未缓存)
BOOL result = [XHNetworkCache checkCacheWithURL:self.URL params:self.params];
```
### 4.获取缓存数据
```objc
//获取缓存数据(参数1:请求URL,参数2:请求参数,返回:JSON数据)
id JsonCache = [XHNetworkCache cacheJsonWithURL:self.URL params:self.params];
```
### 5.获取缓存路径
```objc
//获取缓存路径
NSString *path = [XHNetworkCache cachePath];
```
### 6.清除缓存
```objc
//清除缓存
[XHNetworkCache clearCache];
```
### 7.获取缓存总大小(M)
```objc
//获取缓存大小(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 文件