参考文章:
-
iOS本地数据存取,看这里就够了
这篇文章讲的已经很全了,我这只是把自己工作中用到的实际方案说下。
iOS开发中有持久是金的说法。通常iOS开发中需要缓存的数据包含:
- 用户的基本信息;
- 一些关键的key值,比如是否是首次进入APP;
- 新闻类APP需要缓存请求过的新闻等等;
......
对于需要缓存比较少的数据我经常使用NSUserDefault(偏好设置),而对于数据量较大的数据就需要用sqlite3(我常用)和CoreData了
方案一:NSUserDefault(用户偏好设置)
** NSUserDefault是按照key-value结构将数据存储到沙盒中Library的Prefences文件下的一个plist文件中,主要是用来存储少量数据和关键的key-value**
[[NSUserDefaults standardUserDefaults]setObject:@"test" forKey:@"test"];
方案二: sqlite3+NSKeyedArchiver
sqlite3是在应用沙盒中的Documents文件夹下创建一个数据库文件,然后在数据库文件中建表并进行增删查改等操作;而NSKeyedArchiver主要是对数据进行归档,并且可以直接写入沙盒中,但我主要用它来将模型对象转换为NSData然后通过sqlite存入到数据库中
CoreData
CoreData 我工作到没用过,虽然写过几个Demo,但我觉着太麻烦。