iOS-数据持久化(一)

数据持久化
常用方式: XML (plist,本质XML)
Preference (偏好设置)
NSKeyedArchiver (归档)
SQLite3 (大数据,高效率)
CoreData (封装了SQLite3,iOS 5.0出现,低效率)

今天先总结前面的三种方式:

数据源持久化操作(plist)
1NSHomeDirectory沙河根路径
2stringByAppendingPathComponent:方法拼接根路径下的文件夹
3stringByAppendingPathComponent:方法拼接要创建的文件
4writeToFile:atomically:方法可以写入.plist文件
5读取:也是通过NSHomeDirectory获取路径,像懒加载一样读取
⚠plist存储数据的话,根本缺点就是只适用于Foundation框架自带类,虽然编译可过!

Preference(偏好设置)操作
1NSUserDefaults(单例对象)的standardUserDefaults方法获取对象
2用上面获得的对象 setObject:forKey:方法存个人偏好(类似字典)
  补充:setInteger:forKey:等等方法存入各种类型的偏好参数
3立即同步:上面的对象 synchronize 方法马上把设置的数据同步
4读取:也是拿到NSUserDefaults对象,objectForKey:方法读取数据
⚠偏好设置本质上一样是XML生成plist进行存储,除了plist根本缺点文件名也不能改

对象的归档,(如果父类也有NSCoding归/读档的方法一定要先调用父类方法)
1[NSKeyedArchiver archiveRootObject:(NSObject*) toFile:path]文件后缀.data
2对象要复写encodeWithCoder:方法才能归档,需要遵守<NSCoding>协议
3在上面方法中调用NSCoder的encodeObject:_name forKey:@“key"描述存储方式     ( _name是待归档的对象属性 )
4读取:[NSKeyedUnarchiver unarchiveObjectWithFile:path]读出对象
5复写对象的initWithCoder:方法才能读档,也要遵守<NSCoding>协议
6_name = [dcoder decodeObjectForKey:]写出如何从.data文件读出对象
7encodeWithCoder:内的属性归档描述应该与initWithCoder:方法配对


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值