// 文件归档(一)
//需要参数(归档对象、归档路径)
//参数设置
NSArray *array=@[ @"hello",@"world",@{@"name":@"Maky"},@45];
NSString *path=[NSHomeDirectory() stringByAppendingPathComponent:@"Desktop/test/test.plist"];
//归档过程
NSKeyedArchiver *archiver=[NSKeyedArchiver archiveRootObject:array toFile:path];
//解档过程
NSArray *arrayUn=[NSKeyedUnarchiver unarchiveObjectWithFile:path];
//文件归档(二)
//1.定义一个可变数据流NSMutableData
NSMutableData *muData=[[NSMutableData alloc]init];
//2.创建一个归档类的对象
NSKeyedArchiver *archiverI=[[NSKeyedArchiver alloc]initForWritingWithMutableData:muData];
//3.归档过程
[archiverI encodeObject:array forKey:@"arrayEncode"];
//4.关闭归档
[archiverI finishEncoding];
//5.写入本地文件
[muData writeToFile:path atomically:YES];
//解档,需要参数:归档文件的路径
//1.创建一个NSData
NSData *data=[[NSData alloc]initWithContentsOfFile:path];
//2.创建一个解档类的对象
NSKeyedUnarchiver *unArchiver=[[NSKeyedUnarchiver alloc]initForReadingWithData:data];
//3.解档
NSArray *arrayUnI=[unArchiver decodeObjectForKey:@"arrayEncode"];
//4.关闭解档对象
[unArchiver finishDecoding];
//归档后的文件是加密的,根据归档路径存入到了硬盘中。自定义的对象,归档时需要遵守<NSCording>协议。