iOS数据缓存,对NSKeyedArchiver简单封装,轻量级缓存

NSKeyedArchiver

Demo地址: (https://github.com/MrPlusZhao/TPArchiver.git)
归档,解档是一种很常用的缓存方式,可以存储的类型也有很多, 这里讲的主要是对一下几种方式的存储, 进行的工具类封装

[NSArray class]
[NSDictionary class]
[NSString class]
[NSNumber class]
[NSData class]
当然,如果你觉得不够,可以自行扩展

主要有三个方法

/// 保存数据到本地
+ (BOOL)TP_SaveData:(_Nonnull id)data Key:( NSString * _Nonnull )key;

/// 清除数据
+ (BOOL)TP_RemoveData:( NSString * _Nonnull )key;

/// 通过Key读取本地缓存 ,className 可以传 可以不传, 用来标记返回类型
+ (id _Nullable )TP_GetData:( NSString * _Nonnull )key AnyClass:(_Nullable Class)className;

用法也很简单

    [TPArchiver TP_SaveData:@[@"444",@"2",@"3"] Key:@"test111"];
    [TPArchiver TP_SaveData:@{@"111":@"333",@"444":@"555"} Key:@"test222"];
    [TPArchiver TP_SaveData:@"哈哈哈哈哈" Key:@"test333"];

    id obj1 = [TPArchiver TP_GetData:@"test11133" AnyClass:[NSArray class]]; // 如果取不到数值, 就返回空数组
    id obj2 = [TPArchiver TP_GetData:@"test222xxxx" AnyClass:nil];// 如果取不到值, 就返回nil
    id obj3 = [TPArchiver TP_GetData:@"test333" AnyClass:nil];

    NSLog(@"%@",obj1);
    NSLog(@"%@",obj2);
    NSLog(@"%@",obj3);
    
    [TPArchiver TP_RemoveData:@"test111"];
    [TPArchiver TP_RemoveData:@"test222"];

Demo地址: (https://github.com/MrPlusZhao/TPArchiver.git)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容