iOS 数据持久化
iOS 数据持久化
GLAlanTong 发表于2年前
iOS 数据持久化
  • 发表于 2年前
  • 阅读 54
  • 收藏 2
  • 点赞 1
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

iOS 数据持久化

在iOS中,常用的数据持久化操作有四种:plist文件,NSUserdefaults,SQLite3,CoreData.

Plist文件:也就是我们常说的属性列表,它是一种明文的轻量级存储方式,存储的格式有很多种,最常规的是XML格式.Plist文件只能用数组或者字典进行读取.

优点:

  1. 用来存储少量的数据,响应速度快

  2. 其赋值方式简单

缺点:

    1.正如优点一样,只能存储少量数据,不能存储大文件数据

    2.明文存储,所以其安全性欠缺


NSUserdefaults : 适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的.

其优点与plist文件差不多.但是在使用NSUserdefaults的时候,特别需要注意,因为它不是即时将数据写入文件的,为了防止数据丢失,我们通常需要在后面就手动将其写入文件.

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:@"name" forKey:@"name"];
    [defaults synchronize];


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

1.可以存储大量的数据,存储和检索的速度非常快;

2.能对数据进行大量的聚合,这样比起使用对象来进行这些操作要快。

缺点:

1.它没有提供数据库的创建方式;

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

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

4.sqlite语句复杂

CoreData : 苹果官方iOS5之后推出的综合型数据库,其使用了ORM(Object Relational Mapping)对象关系映射技术,将对象转换成数据,存储在本地数据库中。coreData为了提高效率,甚至将数据存储在不同的数据库中,且在使用的 时候将本地数据放到内存中使得访问速度更快。我们可以选择coreData的数据存储方式,包括sqlite、xml等格式。但也正是coreData 是完全面向对象的,其在执行效率上比不上原生的数据库。除此之外,coreData拥有数据验证、undo等其他功能,在功能上是四种持久化方案最多的。



  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 3
博文 21
码字总数 15640
×
GLAlanTong
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: