标签:
1.归档就是将我们平时使用的文件,变量以一定的格式写入文件中进行存储,等到需要的时候读出来就能还原成源对象的格式
2.归档操作
2.1.在import下面定义存放文件的路径:#define PATH @"/Users/xxxxx/Downloads/dir/PigOnHole.txt";
2.2.将字典保存到文件中
// 将字典保存到文件中 NSDictionary *dict = [[[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"two",@"2",@"three",@"3", nil] autorelease]; // atomically表示是否原子操作 // 读取文件的内容,生成一个字典 [dict writeToFile:PATH atomically:YES]; NSLog(@"%@",dict);
2.3.将数组保存到文件中
NSDictionary *array = [[[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"two",@"2",@"three",@"3", nil] autorelease]; [array writeToFile:PATH atomically:YES]; NSLog(@"%@",array);
2.4.同时将数组和字典归档到一个文件中去,需要使用NSKeyedArchiver
NSDictionary *dict1 = [[[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"two",@"2",@"three",@"3", nil] autorelease]; NSArray *array1 = [[[NSArray alloc] initWithObjects:@"One",@"1",@"two",@"2",@"three",@"3", nil] autorelease]; NSMutableData *data = [[NSMutableData alloc] init]; NSKeyedArchiver * archiver = [[[NSKeyedArchiver alloc] initForWritingWithMutableData:data] autorelease]; [archiver encodeObject:array1 forKey:@"array"]; [archiver encodeObject:dict1 forKey:@"dict"]; [archiver finishEncoding]; [data writeToFile:PATH atomically:YES];
2.5.读取已经归档的文件
NSData *data1 = [[NSData alloc] initWithContentsOfFile:PATH]; NSKeyedUnarchiver * unArchiver = [[[NSKeyedUnarchiver alloc] initForReadingWithData:data1] autorelease]; NSArray * array2 = [unArchiver decodeObjectForKey:@"array"]; NSDictionary * dict2 = [unArchiver decodeObjectForKey:@"dict"]; NSLog(@"%@",array2); NSLog(@"%@",dict2);
标签:
原文地址:http://www.cnblogs.com/zwhFighting/p/4553655.html