数据持久化学习笔记

在iOS开发中,常用的数据持久化方法共有四种:”属性列表“,”数据归档“,”SQLite“、”CoreData“

一、属性列表

特点:不加密,所以安全性为零。常用于存储非私密的数据。比如城市列表这一类数据,读取到字典或数组非常方便。

属性列表只能存储NSString, NSNumber, NSDate, NSArray, NSDictionary这些格式的数据。不能存储自定义的数据。

二、数据归档/序列化

特点:可以进行加密处理。归档处理后转化为二进制数据。并且可以通过归档的方式将自定义对象写入文件中。

我们使用NSKeyedArchiver来对自定义的数据进行序列化,但其前提是必须遵守NSCoding协议并实现其两个协议方法。如果需要,你也可以遵守NSSecureCoding协议来增加数据的安全性。

三、SQLite

sqlite是一个轻量级、跨平台的小型数据库,其拥有可移植性高、有着和MySql几乎相同的数据库语句以及无需服务器即可使用的优点:

一、可以存储大量的数据,存储和检索的速度非常快;二、能对数据进行大量的聚合,这样比起使用对象来进行这些操作要快。

当然,它也具有明显的缺点:

一、它没有提供数据库的创建方式;

二、它基于C语言框架设计,没有面向对象的API,所以使用起来比较麻烦;

三、复杂的数据模型的数据建表相对而言比较麻烦。

当然,我们也可以使用基于sqlite封装的开源数据库FMDB来减少使用sqlite的工作量。

四、CoreData

特点:访问速度快,coredata将数据存储在不同的数据库中,并在使用时将本地数据放到内存中,加快访问速度。但是coredata是完全面向对象的,所以他的执行效率也比不上原生数据库。

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

推荐阅读更多精彩内容

  • 数据持久化的相关知识 四种将数据持久化存储到iOS文件系统的机制: plist 对象归档 iOS的嵌入式关系数据库...
    melouverrr阅读 652评论 0 0
  • 最近在学习在iOS开发中如何做数据的持久化。我们在开发APP时有时需要将数据保存到本地。下面总结一下几种数据持久化...
    程序员LesterXu阅读 674评论 0 4
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,273评论 4 61
  • 放大音量纠正发音是我的近期目标,平凡的生活不想起太多涟漪,但我希望自己永远在成长。 普通话一直是我的心病,屡试不得...
    DennisFly阅读 174评论 0 0
  • 腾讯TIM于3月1日正式上线,主打办公领域。腾讯早些时候有出过QQ轻聊版和QQ TM,QQ轻聊版是简版的QQ,而Q...
    陈进东阅读 13,406评论 0 3