推荐一个很好用的第三方缓存开源项目,下载地址:https://github.com/enormego/EGOCache
EGOCache采用磁盘存储方式缓存所有数据。其用法非常简单,采用key-value的存储模式。可以保存NSString,NSArray,NSDictionary等类型的数据。可以自己设置缓存过期时间,默认为1天。
下面是我们经常用到的方法,.h文件里注释的非常清楚
- (nonnull instancetype)initWithCacheDirectory:(NSString* __nonnull)cacheDirectory;//创建自己的缓存目录
- (void)clearCache;//清除缓存
- (void)removeCacheForKey:(NSString* __nonnull)key;//清除对应key的缓存
- (BOOL)hasCacheForKey:(NSString* __nonnull)key;//判断是否有该key
例子如下,还可以缓存更多其它类型的数据。
// 缓存字符串
[[EGOCache globalCache]setString:@"stringValue" forKey:@"string"];
//读取字符串
NSString *cacheString = [[EGOCache globalCache]stringForKey:@"string"];
//缓存数组
[[EGOCache globalCache]setObject:
[NSArray arrayWithObjects:@"1",,@"2",@"3", nil]
forKey : @"array" ];//读取数组
NSArray *cacheArray = (NSArray *) [[EGOCache globalCache]objectForKey:@"array"];
// 缓存data
NSData *data = [@"stringValue" dataUsingEncoding: NSUTF8StringEncoding];
[[EGOCache globalCache]setData:data forKey:@"data"];
//读取data NSData *cacheData = [[EGOCache globalCache]dataForKey:@"data"];
- (void)setImage:(UIImage*)anImage forKey:(NSString*)key;