数据持久化

所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。
iOS主要有四种方式实现数据的持久化


1 属性列表(plist)

属性列表是一种明文的轻量级存储方式,其存储格式有多种,最常规格式为XML格式。在我们创建一个新的项目的时候,Xcode会自动生成一个info.plist文件用来存储项目的部分系统设置。如保存用户的用户名和密码(密码要进行加密)。
NSArray; NSMutableArray;
NSDictionary; NSMutableDictionary;
NSData; NSMutableData;
NSString; NSMutableString;
NSNumber; NSDate;
plist只能用上面几种类型进行读取,由于属性列表本身不加密,所以安全性几乎可以说为零。因为,属性列表正常用于存储少量的并且不重要的数据。

在程序启动后,系统会自动创建一个NSUserDefaults的单例对象,[NSUserDefaults standardUserDefaults] 存储的目录就在沙盒中的 /Library/Prefereces 目录下.我们可以获取这个单例来存储少量的数据,它会将输出存储在.plist格式的文件中。其优点是像字典一样的赋值方式方便简单,但缺点是无法存储自定义的数据。

当然也可以自己创建plist文件,然后指定存储位置

NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject; NSString *fileName = [path stringByAppendingPathComponent:@"123.plist"]; NSArray *array = @[@"123", @"456", @"789"]; [array writeToFile:fileName atomically:YES]; NSArray *result = [NSArray arrayWithContentsOfFile:fileName]; NSLog(@"%@", result);


2 数据归档(NSKeyedValueArchiver)

3 数据库(sqlite 3)

4 CoreData(sqlite)

参考资料
http://www.jianshu.com/p/86ea6da905cf
http://www.cocoachina.com/ios/20150720/12610.html
keychain存储
https://my.oschina.net/zhuzhu1223/blog/635023
NSUserDefaults的安全性讨论
http://blog.csdn.net/kaka_2928/article/details/51326035

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

相关阅读更多精彩内容

  • 在程序开发中,数据层永远是程序的核心结构之一。我们将现实事物进行抽象,使之变成一个个数据。对这些数据的加工处理是代...
    sindri的小巢阅读 16,879评论 13 85
  • 在程序开发中,数据层永远是程序的核心结构之一。我们将现实事物进行抽象,使之变成一个个数据。对这些数据的加工处理是代...
    帅不过oneS阅读 3,895评论 0 1
  • iOS开发-数据持久化 原文链接 Sindri的小巢 在程序开发中,数据层永远是程序的核心结构之一。我们将现实事物...
    人生路02阅读 4,073评论 1 4
  • 一、数据持久化概述 数据持久化就是数据的永久存储。其本质是将数据保存为文件,存到程序的沙盒中。 1、数据持久化的方...
    lilinjianshu阅读 3,599评论 0 1
  • 我有洁癖,从天而降成为一个独立之体时我就发现了这个问题。 有人说有洁癖的生灵最能发现这世界的肮脏,所以我觉得我的使...
    漠漠鬼话阅读 4,059评论 28 21

友情链接更多精彩内容