数据的归档和解归档
//归档
BOOL success = [NSKeyedArchiver archiverRootObject:归档的对象 toFile:文件路径];
//解档
id content = [NSKeyedUnArchiver unarchiveObjectWithFile:文件路径];
//第二种解归档(多对象)
//归档
NSString *homePath = NSHomePath();
NSString *filePath = [homePath stringByAppendingPathComponent:归档文件名];
NSMutableData *data = [NSMutableData data];
NSKeyedArchiver *archive = [[NSKeyedArchiver alloc]initForWritingMutableData:data];
[archive encodeInt:100 forKey:@“age”];
[archive encodeObject:对象名 forKey :@“name”];
[archive finishEncode];
[archive release];
BOOL success = [data writeToFile :filePath atomically:YES ];
//解档
NSString *homePath = NSHomePath();
NSString *filePath = [homePath stringByAppendingPathComponent:归档文件名];
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSKeyedUnarchiver *unarchive = [[NSKeyedUnarchiver alloc]initForReadingWithData:data];
int num = [unarchive decodeIntForKey:@“age”];
id obj = [unarchive decodeObjectForKey:@“name”];
[unarchive release ];
//自定义归档的时候要遵守NSEcoding协议才行
//归档的时候 要实现方法
-(void)encodeWithCoder:(NSCoder *)aCoder{}
//解档的时候要实现
-(void)initWithCoder:(NSCoder *)aCoder{
self = [super init];
if (self != nil){
}
return self;
}//注意点 对象属性的所有权