IOS开发之应用数据存储

应用数据存储的常用方式

  • XML属性列表(plist)归档:一般用于存储数组和字典,不能存储自定义对象
    plist文件操作——传送门

  • Preference(偏好设置):存储键值对
    沙盒管理——传送门
    在这里插入图片描述

  • NSKeyedArchiver归档(NSCoding):存储自定义对象
    可以存储数组,数组里面存储你的对象集,也会自动帮你归档解档

Teacher类内部 需要遵守的协议<NSCoding>
内部新增方法
//告诉需要归档哪些属性
-(void)encodeWithCoder:(NSCoder *)aCoder{
	//只认识C的类型,其他OC类型要Object
	[aCoder encodeObject:_name forKey:@"name"];
	[aCoder	encodeInt:_age forKey:@"age"];
}
//告诉系统解档哪些属性
-(instancetype)initWithCoder:(NSCoder *)aDecoder{
	if(self=[super init]){
		_name = [aDecoder decodeObjectForKey:@"name"];
		_age = [aDecoder decodeObjectForKey:@"age"];
	}
	return self;
}
//获取tmp目录
NSString *tmpPath = NSTemporaryDiretory();
//获取filePath
NSString *filePath = [tmpPath stringByAppendingPathComponent:@"teacher.data"];

//创建自定义对象
Teacher *tea = [Teacher new];
tea.name = @"teacher";
tea.age = 18;

//归档
[NSKeyedArchiver archiveRootObject:tea toFile:filePath];
//取档
Teacher *tea = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
  • SQLites 数据库
  • CoreData
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值