博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QF——iOS中数据持久化的几种方式
阅读量:5170 次
发布时间:2019-06-13

本文共 890 字,大约阅读时间需要 2 分钟。

数据持久化的几种方式:

 

一、属性列表文件:

  .plist文件是种XML文件。数组,字典都可以和它互相转换。数组和字典可以写入本地变成plist文件。也可以读取本地plist文件,生成数组或字典。

读取plist文件生成数组:plist——>NSArray

把数组写入plist文件:NSArray——>plist

 

二、NSUserDefaults:

它是单例的。通过[NSUserDefaults standardUserDefaults];提供唯一的实例

NSUserDefaults存储数据,本质上就是属性列表plist文件里。只不过是系统提供的,存储位置固定的,它存储在沙盒的Library目录下的Prefereces文件里。

保存数据:

读取数据:

另外,NSUserDefaults还可以使用应用程序束Bundle,使项目可以出现在手机的“设置”中,通过可视化的图形界面来保存用户偏好设置(保存设置)。等用户在图形界面设置好偏好后,在代码中同样是通过上面的代码来读取数据的。Bundle文件的创建:

 

 

三、归档:

  “归档”类似于“序列化”。所谓序列化就是:把对象转化为字节流,以便保存和传输。有所不同的是“归档”是指自定义对象,而“序列化”指特定的原生类对象(NSDate,NSArray,NSDictionary等)。

  NSUserDefaults的缺点是它只能存储系统原生类,而“归档”却可以存储任何对象,只要该对象实现了NSCoding协议。

  那怎么归档呢?

  1.自定义的类必须要实现NSCoding协议。

  2.重写该协议里的编码方法,对对象的每个属性进行编码,使其都为字节流。encodeWithCoder:

  3.调用NSKeyArichiver的类方法,完成归档。 [NSKeyedArichiver archiveRootObject:array toFile:homePath];

 

四、sqlite数据库:

 

 

 

 

 

  

转载于:https://www.cnblogs.com/wangerxiansheng/p/4388254.html

你可能感兴趣的文章
面试时被问到的问题
查看>>
注解小结
查看>>
201421410014蒋佳奇
查看>>
Xcode5和ObjC新特性
查看>>
CSS属性值currentColor
查看>>
Real-Time Rendering 笔记
查看>>
多路复用
查看>>
【UVA】434-Matty's Blocks
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
使用Reporting Services时遇到的小问题
查看>>
约瑟夫问题
查看>>
Arduino 报错总结
查看>>
树莓派Android Things物联网开发:树莓派GPIO引脚图
查看>>
矩阵快速幂---BestCoder Round#8 1002
查看>>
Hadoop HBase概念学习系列之HBase里的宽表设计概念(表设计)(二十七)
查看>>
awk变量
查看>>
mysql_对于DQL 的简单举例
查看>>
35. Search Insert Position(C++)
查看>>
[毕业生的商业软件开发之路]C#异常处理
查看>>
有关快速幂取模
查看>>