手机版
网站地图
美文美图
最新动态
你好,欢迎访问
好美文阅读网
个性皮肤
搜索
网站首页
美文
文章
散文
日记
诗歌
小说
故事
句子
作文
签名
祝福语
情书
范文
读后感
文学百科
美文摘抄
节日文章
名家散文
网名大全
座右铭
口号大全
面试技巧
说说大全
阅读答案
诗词默写
流言蜚语
节日祝福
好句子
经典台词
谚语大全
亲情故事
友情故事
表白情书
工作报告
活动总结
心得体会
专题汇总
美文网首页
UI进阶数据本地化之复杂对象本地化操作
UI进阶数据本地化之复杂对象本地化操作
作者:
鬼鬼梦
| 来源:发表于
2016-03-25 20:05 被阅读0次
首先创建Person类,继承与NSObject 遵循<NSCoding>,并建立属性
Person.h中:
@property(nonatomic,copy)NSString *name;
@property(nonatomic,copy)NSString *sex;
@property(nonatomic,assign)NSUInteger age;
//属性的作用
//声明set get方法
//实现set get方法
//声明一个以下划线开头命名的一个成员变量
Person.m中: 归解档
//归档
//在归档和解档的时候,要把所有的属性都进行归解档
-(void)encodeWithCoder:(NSCoder *)aCoder{
[aCoder encodeObject:self.name forKey:@"name"];
[aCoder encodeObject:self.sex forKey:@"sex"];
[aCoder encodeInteger:self.age forKey:@"age"];
}
//解档
-(instancetype)initWithCoder:(NSCoder *)aDecoder{
self=[super init];
if (self) {
self.name=[aDecoder decodeObjectForKey:@"name"];
self.sex=[aDecoder decodeObjectForKey:@"sex"];
self.age=[aDecoder decodeIntegerForKey:@"age"];
}
return self;
}
ViewController.m中
//如果一个对象想直接写入本地,那么这个对象需要遵守NDCoding协议
NSString *documentPathStr = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
Person *person=[[Person alloc]init];
person.name = @"队长";
person.sex = @"男";
person.age = 38;
//将复杂对象归档之后存入本地
//第一步:创建一个NSMutableData,用于初始化归档工具
NSMutableData *data = [NSMutableData data];
NSLog(@"data==%@",data);
//第二步 :创建归档工具
NSKeyedArchiver *keyedArchiver = [[NSKeyedArchiver alloc]initForWritingWithMutableData:data];
NSLog(@"data1==%@",data);
//第三步:使用归档工具 对需要归档对象进行归档
[keyedArchiver encodeObject:person forKey:@"person"];
NSLog(@"data2==%@",data);
//第四步:结束归档
[keyedArchiver finishEncoding];
NSLog(@"data3==%@",data);
NSString *dataPath = [documentPathStr stringByAppendingPathComponent:@"data.plist"];
[data writeToFile:dataPath atomically:YES];
NSLog(@"datapath==%@",documentPathStr);
#pragma mark--解档使用
//第一步:从本地获取到Data
NSMutableData *newdata = [NSMutableData dataWithContentsOfFile:dataPath];
NSLog(@"data==%@",newdata);
//第二步:通过获取到的data 创建一个解档工具
NSKeyedUnarchiver *keyedUnarchiver = [[NSKeyedUnarchiver alloc]initForReadingWithData:newdata];
//第三步:创建一个person对象接收解档结果
Person *newperson = [keyedUnarchiver decodeObjectForKey:@"person"];
//第四步:结束解档
[keyedUnarchiver finishDecoding];
NSLog(@"person==%@",newperson.name);
//归解档是一种编码方式,不是数据本地化的方式
//复杂对象写入本地实际上使用的还是wirteToFile得简单写入本地的方法
//直接写入本地 是整存整取
//在一个路径下存数据,最后一次存进去的东西会覆盖掉之前的
相关文章
网友评论
本文标题:
UI进阶数据本地化之复杂对象本地化操作
本文链接:
https://www.haomeiwen.com/subject/qnkdlttx.html
延伸阅读
那年盛夏诗歌
环境监察队工作总结范文
优秀教师学习心得范文
华胥引的读后感300字
《Its red》教学反思范文
农资购销的合同范本
竞选中队委优秀演讲稿
辞金蹈海的成语解释
《世纪宝鼎》公开课教案设计
因为爱你,所以牵挂
今生今世红尘醉——美到
一个90后的内心独白
致已逝去的高中年华
深度阅读
您也可以注册成为美文阅读网的作者,发表您的原创作品、分享您的心情!
情人节
母亲节
重阳节
清明节
端午节
植树节
元宵节
妇女节
愚人节
圣诞节
父亲节
教师节
儿童节
劳动节
青年节
建军节
万圣节
平安夜
光棍节
中秋节
国庆节
感恩节
腊八节
更多话题
栏目导航
摄影
故事
互联网
读书
旅行
热点阅读
寻找你的《疯狂动物城》
记语文课本里仍留存记忆的古诗词
iOS-GDataXML导入工程报错解决方法
001、股灾带给我的伤害与收获
在四大积累的技能和资源适合创业吗?-I
VR头显是如何骗过你大脑的
一点人生经验
我爱上那个送我回家的人(7)
JavaScript 的动态原型组合继承
问
网友评论