关闭

在开发项目中用到的数据缓存,这里是用的是 NSKeyedArchiver

149人阅读 评论(0) 收藏 举报
分类:

这里就不讲废话了,直接上代码,有啥不明白的地方,请留言

// 这里是数据的存入,data 这个是数组对象,也可以为字典,看需求,path这里是你给这个存储文件取的名字

- (void)saveDatas:(NSArray *)data
{
    
   
    // 获取cache
    NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
    
    // 获取文件的全路径
    NSString *filePath = [cachePath stringByAppendingPathComponent:@“xxx.data”];
    
    // 把自定义对象归档
    [NSKeyedArchiver archiveRootObject:data toFile:filePath];
    
    [UserInfo shareUser].paths = allPath;
    
}

// 这里读取对象数据,返回的是你存入的那个数组

- (NSArray *)readDatas
{
    // 获取cache
    NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
    
    // 获取文件的全路径
    
    NSString *filePath = [cachePath stringByAppendingPathComponent:@“xxx.data”];
    
    return  [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
}


// 删除文件

- (BOOL)deleteAllDatas
{
    // 获取cache
    NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
    
    // 获取文件的全路径
    
    NSString *filePath = [cachePath stringByAppendingPathComponent:@“xxx.data” ];
    
    BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:filePath];
    if (exists) {
        [[NSFileManager defaultManager] removeItemAtPath:filePath error:nil];
    }
    
    return exists;
}

较简单,希望能帮到大家

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

如何在web项目中添加redis缓存

redis 是什么?这个应该是你做一下工作的前提,不明白的可以百科一下。如果你大概明白了redis的工作原理。那么请继续往下看: 一。首先你需要明白,为什么要在你的项目中使用redis缓存? 现在...
  • qq_15106407
  • qq_15106407
  • 2015-08-17 20:49
  • 3620

【Android开发经验】APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了

只要是需要进行联网获取数据的APP,那么不管是版本更新,还是图片缓存,都会在本地产生缓存文件。那么,这些缓存文件到底放在什地方合适呢?系统有没有给我们提供建议的缓存位置呢?不同的缓存位置有什么不同呢?...
  • bz419927089
  • bz419927089
  • 2015-02-03 17:18
  • 10190

【Android开发经验】APP的缓存文件到底应该存在哪?看完这篇文章你应该就自己清楚了

只要是需要进行联网获取数据的APP,那么不管是版本更新,还是图片缓存,都会在本地产生缓存文件。那么,这些缓存文件到底放在什地方合适呢?系统有没有给我们提供建议的缓存位置呢?不同的缓存位置有什么不同呢?...
  • shakespeare001
  • shakespeare001
  • 2016-01-20 10:31
  • 15614

【iOS-Cocos2d游戏开发之十九】游戏数据存储的四种常用方式NSKeyedArchiver/NSUserDefaults/Write写入/SQLite3

分类: 【 iOS-Cocos2d 游戏开发】2011-11-08 14:37 4999人阅读 评论(6) 收藏 举报  李华明Himi 原创,转载务必在明显处注明: ...
  • wzq9706
  • wzq9706
  • 2012-05-29 17:59
  • 1048

iOS开发 数据存储之NSKeyedArchiver

NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法.前一个方...
  • wgl_happy
  • wgl_happy
  • 2017-07-25 10:51
  • 98

IOS开发—数据存储(直接写入、NSUserDefaults、NSkeyedArchiver)

数据存储(直接写入、NSUserDefaults、NSkeyedArchiver) ios中常用文件存取的方法有: 1、直接写文件的方式,可以存储的对象有NSString、NSArray、NSDi...
  • Lotheve
  • Lotheve
  • 2015-03-19 19:00
  • 1748

ios开发学习笔记--数据持久化之归档解档(NSKeyedArchiver/ NSKeyedUnarchiver)

归档和解档 一、     简介 归档(Archive)也称为序列化(serialization),把对象转化为字节码,一文件的形式存储在磁盘上,只要遵循了NSCoding协议的对象都可以实现归档和...
  • qq_14920635
  • qq_14920635
  • 2016-05-03 23:10
  • 977

iOS开发-进阶:数据存储之-对模型对象归档(NSKeyedArchiver、NSKeyedUnarchiver)

文章转自: http://blog.csdn.net/mad1989/article/details/9106475 今天记录一下学习 NSKeyedArchiver、NSKeyedUnarc...
  • sinat_31872425
  • sinat_31872425
  • 2015-12-11 09:10
  • 196

【iOS-Cocos2d游戏开发之十九】游戏数据存储的四种常用方式NSKeyedArchiver/NSUserDefaults/Write写入/SQLite3

李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/iphone-cocos2d/513.html        ...
  • xiaominghimi
  • xiaominghimi
  • 2011-11-08 14:37
  • 17379

iPhone开发【二十二】数据持久化总结之第3篇—归档(NSKeyedArchiver、NSKeyedUnarchiver)

转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/8284135 作者:张燕广 实现的功能:1)演示使用归档持久化数...
  • m_changgong
  • m_changgong
  • 2012-12-11 20:47
  • 6847
    个人资料
    • 访问:86960次
    • 积分:1204
    • 等级:
    • 排名:千里之外
    • 原创:35篇
    • 转载:18篇
    • 译文:8篇
    • 评论:15条
    最新评论