Objective-C可以将程序用到的各种对象序列化到文件,在任何需要的情况下,从文件中重新读取数据重新构造对象,下面说一下对象的序列化和反序列化。
使用NSKeyedArchiver把对象序列化到文件中:
// 数组对象NSString *saveStr1 = @”NSKeyedArchiver1″;NSString *saveStr2 = @”NSKeyedArchiver2″;NSArray *array = [NSArray arrayWithObjects:saveStr1, saveStr2, nil];// 将路径和文件名合成文件完整路径 NSString *Path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];NSString *filename = [Path stringByAppendingPathComponent:@"saveDatatest"];// 将数组对象序列化到文件[NSKeyedArchiver archiveRootObject:array toFile:filename];
使用NSKeyedUnarchiver从文件中反序列化成对象:
array = [NSKeyedUnarchiver unarchiveObjectWithFile: filename];NSLog(@”%@”,array);