iOS 解档归档
来源:互联网 发布:单片机产生脉冲信号 编辑:程序博客网 时间:2024/04/30 04:46
【归档步骤】
1.需要归档的数据结构中,任何对象都必须遵从归档协议NSCoding.实现相关方法
- (void)encodeWithCoder:(NSCoder *)aCoder;
- (id)initWithCoder:(NSCoder *)aDecoder;
2.使用KeyedAchiever进行归档
关于协议的实现
#pragma mark归档方法
-(void)encodeWithCoder:(NSCoder *)aCoder{
[aCoderencodeObject:self.nameforKey:@"name"];
[aCoderencodeObject:self.IDforKey:@"ID"];
[aCoderencodeObject:[NSNumbernumberWithInt:self.age]forKey:@"age"];
}
#pragma mark解档方法
-(id)initWithCoder:(NSCoder *)aDecoder{
if (self = [superinit]) {
self.name = [aDecoderdecodeObjectForKey:@"name"];
self.ID = [aDecoderdecodeObjectForKey:@"ID"];
self.age = [[aDecoderdecodeObjectForKey:@"age"]intValue];
}
returnself;
}
//归档操作
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:school forKey:@"school"];
[archiver finishEncoding];
[data writeToFile:PATH atomically:YES];
【解归档步骤】
1.首先要确定你拥有同样的数据结构
2.使用KeyedUnAchiever进行解归档
//解档操作
NSData *data = [[NSDataalloc]initWithContentsOfFile:PATH];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiveralloc]initForReadingWithData:data];
School *school = [unarchiverdecodeObjectForKey:@"school"];
[unarchiverfinishDecoding];
[schoolshowStudents];
- iOS解档归档
- iOS 解档归档
- ios-归档解档
- ios 归档解归档
- ios解档归档2
- ios自定义归档解档
- iOS - UI-归档解归档
- iOS 之归档解档(nskeyarchieve)
- iOS的归档与解档
- iOS nscoding 实现归档解档
- IOS 对象的归档与解档
- iOS swift-归档与解档
- iOS对象的归档与解档
- iOS运行时实现归档解档
- ios 对象归档解档 runtime实现
- ios 归档接档
- IOS 归档和解档
- iOS-UI-04 沙盒 归档 解归档
- 早上起来发现openstack中nova服务全部关掉了
- 如何做一名工程师
- IOS:必须了解的bug技巧,Crash查看
- UVA10562n叉树递归
- 不均匀正负样本分布下的机器学习
- iOS 解档归档
- 判断是否有更新
- jQuery入门:Data方法
- 华为OJ(一)——字符串最后一个单词的长度
- Window系统命令行调用控制面板程序
- /etc/passwd, /etc/shadow
- 未来安卓智能音响必将和互联网音乐版权公司绑定
- .configure 自动安装的原理
- java类的加载以及初始化顺序