【IOS自定义工具类之缓存助手类】CacheHelper
来源:互联网 发布:匹配域名的正则表达式 编辑:程序博客网 时间:2024/04/28 23:47
头文件:
#import <Foundation/Foundation.h>@interface CacheHelper : NSObject { }+ (void) setObject:(NSData *) data forKey:(NSString *) key withExpires:(int) expires;+ (NSData *) get:(NSString *) key;+ (void) clear;+ (NSString *)getTempPath:(NSString*)key;+ (BOOL)fileExists:(NSString *)filepath;+ (BOOL)isExpired:(NSString *) key;@end
实现文件:
#import "CacheHelper.h"@implementation CacheHelper+ (void) setObject:(NSData *) data forKey:(NSString *) key withExpires:(int) expires{NSDate *dt = [NSDate date];double now = [dt timeIntervalSince1970]; NSMutableString *expiresString = [[NSMutableString alloc] init];NSData *dataExpires = [[expiresString stringByAppendingFormat:@"%f",now+expires] dataUsingEncoding:NSUTF8StringEncoding];[expiresString release]; //创建缓存时间控制文件[dataExpires writeToFile:[[self getTempPath:key] stringByAppendingFormat:@"%@",@".expires"] atomically:NO]; //创建缓存文件,写入缓存 [data writeToFile:[self getTempPath:key] atomically:NO];}+ (NSData *) get:(NSString *) key{if(![self fileExists:[self getTempPath:key]] || [self isExpired:[self getTempPath:key]]){NSLog(@"no cache"); return nil;} NSData *data = [NSData dataWithContentsOfFile:[self getTempPath:key]];return data;}+ (void) clear{ }//获取临时文件目录+ (NSString *)getTempPath:(NSString*)key{NSString *tempPath = NSTemporaryDirectory();return [tempPath stringByAppendingPathComponent:key];}//判断文件是否存在+ (BOOL)fileExists:(NSString *)filepath{NSFileManager *fileManager = [NSFileManager defaultManager];return [fileManager fileExistsAtPath:filepath];}//判断是否过期+ (BOOL)isExpired:(NSString *) filepath{NSData *data = [NSData dataWithContentsOfFile:[filepath stringByAppendingFormat:@"%@",@".expires"]];NSString *expires = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];double exp = [expires doubleValue];[expires release];NSDate *dt = [NSDate date];double value = [dt timeIntervalSince1970];if(exp > value){return NO;}return YES;}@end
转自:http://blog.csdn.net/lilizing/article/details/8553186
0 0
- 【IOS自定义工具类之缓存助手类】CacheHelper
- 【IOS自定义工具类之缓存助手类】CacheHelper
- 【IOS自定义工具类之缓存助手类】CacheHelper
- 【IOS自定义工具类之缓存助手类】CacheHelper
- [c#]CacheHelper缓存类
- CacheHelper缓存类
- CacheHelper工具类的使用
- CacheHelper类
- 数据缓存助手类
- 自定义缓存工具类----sharedPreferences
- ios自定义工具类
- LruCache (强缓存)的自定义工具类
- 编写自定义的助手类
- iOS中如何自定义加密缓存及缓存原理分析(第二节:自定义缓存类)
- 对Cache类的一个泛型包装CacheHelper
- Android 封装工具类之文件缓存
- 集合对象的一些助手工具类
- iOS 自定义工具类 ---- 图片浏览器
- JsonCpp lib使用
- 前台
- 关于视频采集的网址
- 将项目从Django 1.4 升级至Django 1.6.2 源码修改的三个步骤
- 探测网络中存在的SQL Server实例的工具--Microsoft Assessment and Planning Toolkit
- 【IOS自定义工具类之缓存助手类】CacheHelper
- 《OpenGL超级宝典4》学习笔记——第四章(一)
- printf的格式控制的完整格式
- Makefile中include、-include、sinclude的区别
- hdu-1054-Strategic Game
- ssh(2)
- java 对象 实例变量 静态变量内存分配
- jquery-load-demo
- [网络] 大话IP地址