//
// main.m
// 1110 归档
//
// Created by 非凡程序员 on 15/11/10.
// Copyright (c) 2015年 非凡程序员. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 创建一个可变大小的文件流
NSMutableData *mudataManager = [[NSMutableData alloc]init];
// 把用归档格式的数据传值给可变大小的文件流
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]initForWritingWithMutableData:mudataManager];
// 把集合数据以归档形式编码
[archiver encodeObject:@[@"1",@"2"] forKey:@"number"];
[archiver encodeObject:@{@"rr":@"RR",@"yy":@"YY"} forKey:@"dd"];
// 完成归档
[archiver finishEncoding];
// 把归档过来的可变大小数据流 写入文件中 永久存储
[mudataManager writeToFile:@"/Users/feifanchengxuyuan/desktop/file2.txt" atomically:YES];
// 创建一个NSFileManager类型的对象
NSFileManager *fileManage = [NSFileManager defaultManager];
// 用NSData文件流接收从PATH路径读取出来的文件内容
NSString *PATH = @"/Users/feifanchengxuyuan/desktop/file2.txt";
NSData *fileData = [fileManage contentsAtPath: PATH];
// 实例化一个解档对象 注意:初始化为解档格式并要放入要解档的数据流
NSKeyedUnarchiver *unArchiver = [[NSKeyedUnarchiver alloc]initForReadingWithData:fileData];
// 输入要解档的key
NSArray *arrayUnArchiver = [unArchiver decodeObjectForKey:@"number"];
NSLog(@"arrayUnArchiver:%@",arrayUnArchiver[0]);
NSArray *arrayUnArchiverI = [unArchiver decodeObjectForKey:@"dd"];
NSLog(@"arrayUnArchiverI:%@",arrayUnArchiverI);
}
return 0;
}