数据持久化技术

参考文章:


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容