数据持久化技术

参考文章:

  • iOS本地数据存取,看这里就够了
    这篇文章讲的已经很全了,我这只是把自己工作中用到的实际方案说下。

iOS开发中有持久是金的说法。通常iOS开发中需要缓存的数据包含:

  • 用户的基本信息;
  • 一些关键的key值,比如是否是首次进入APP;
  • 新闻类APP需要缓存请求过的新闻等等;
    ......
    对于需要缓存比较少的数据我经常使用NSUserDefault(偏好设置),而对于数据量较大的数据就需要用sqlite3(我常用)和CoreData了

方案一:NSUserDefault(用户偏好设置)

** NSUserDefault是按照key-value结构将数据存储到沙盒中Library的Prefences文件下的一个plist文件中,主要是用来存储少量数据和关键的key-value**
[[NSUserDefaults standardUserDefaults]setObject:@"test" forKey:@"test"];

Paste_Image.png

方案二: sqlite3+NSKeyedArchiver

sqlite3是在应用沙盒中的Documents文件夹下创建一个数据库文件,然后在数据库文件中建表并进行增删查改等操作;而NSKeyedArchiver主要是对数据进行归档,并且可以直接写入沙盒中,但我主要用它来将模型对象转换为NSData然后通过sqlite存入到数据库中

Paste_Image.png

CoreData

CoreData 我工作到没用过,虽然写过几个Demo,但我觉着太麻烦。

end

你可能感兴趣的:(数据持久化技术)