BBACacheManager.h
2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//
// BBACacheManager.h
// BaiduBoxApp
//
// Created by Jingxiang Zhang on 2/3/15.
// Copyright (c) 2015 Baidu. All rights reserved.
//
#import <Foundation/Foundation.h>
/**
* 缓存策略相关,被SDWebImage反向引用,需要先接触引用再迁移
* 详细介绍请看README
*/
typedef void (^BBACacheSaveCallback)(BOOL success);
typedef void (^BBACacheLoadCallback)(id object);
/// 图像拉伸模式
typedef NS_ENUM(NSInteger, BBACacheMode)
{
/// 默认缓存,自动管理缓存,超出阈值后删除(默认值)
BBACacheModeDefault,
/// 缓存一个周
BBACacheModeOneWeek,
/// 缓存一个月
BBACacheModeOneMonth,
/// 缓存30MB,超出则清空最早访问数据
BBACacheMode30MB,
};
@interface BBACacheManager : NSObject
/// 返回单实例
+ (instancetype)sharedInstance;
/// 保存对象到缓存目录
- (BOOL)saveDataToDisk:(NSData *)data filename:(NSString *)filename cacheMode:(BBACacheMode)cacheMode;
/// 保存对象到缓存目录
- (BOOL)saveDataToDisk:(NSData *)data filename:(NSString *)filename cacheMode:(BBACacheMode)cacheMode useMemoryCache:(BOOL)useMemoryCache;
/// 保存对象到缓存目录(异步操作)
- (void)saveDataToDisk:(NSData *)data filename:(NSString *)filename cacheMode:(BBACacheMode)cacheMode callback:(BBACacheSaveCallback)callback;
/// 保存对象到缓存目录(异步操作)
- (void)saveDataToDisk:(NSData *)data filename:(NSString *)filename cacheMode:(BBACacheMode)cacheMode useMemoryCache:(BOOL)useMemoryCache callback:(BBACacheSaveCallback)callback;
/// 返回缓存目录中的指定文件
- (NSData *)dataFromDiskByFilename:(NSString *)filename;
/// 返回缓存目录中的指定文件(异步操作)
- (void)dataFromDiskByFilename:(NSString *)filename callback:(BBACacheLoadCallback)callback;
/// 返回缓存目录中的指定文件,如果为空,则返回默认值
- (NSData *)dataFromDiskByFilename:(NSString *)filename defaultValue:(id)defaultValue;
/// 返回缓存目录中的指定文件,如果为空,则返回默认值
- (NSData *)dataFromDiskByFilename:(NSString *)filename useMemoryCache:(BOOL)useMemoryCache defaultValue:(id)defaultValue;
/// 返回缓存目录中的指定文件(异步操作),如果为空,则返回默认值
- (void)dataFromDiskByFilename:(NSString *)filename defaultValue:(id)defaultValue callback:(BBACacheLoadCallback)callback;
/// 返回缓存目录中的指定文件(异步操作),如果为空,则返回默认值
- (void)dataFromDiskByFilename:(NSString *)filename useMemoryCache:(BOOL)useMemoryCache defaultValue:(id)defaultValue callback:(BBACacheLoadCallback)callback;
/// 返回缓存目录中指定文件的全路径
- (NSString *)fullpathByFilename:(NSString *)filename;
/// 更新缓存模式(异步操作)
- (void)updateCacheMode:(BBACacheMode)cacheMode filename:(NSString *)filename;
/// 缓存目录
- (NSString *)cacheDirectory:(BOOL)createIfNoteExist;
@end