Tag: NSDictionary
将Array、Dictionary等集合类的序列化和反序列化
by Elton on 二.15, 2010, under iPhone
Objective-C的集合类序列化到文件中或者从文件中反序列化其实很简单,请看下面的示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | NSArray *array = [NSArray arrayWithObjects: @"Hefeweizen", @"IPA", @"Pilsner", @"Stout", nil]; NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys: array, @"array", @"Stout", @"dark", @"Hefeweizen", @"wheat", @"IPA", @"hoppy", nil]; // 得到documents directory的路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); if ([paths count] > 0) { // Array的保存路径 NSString *arrayPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"array.out"]; // dictionary的保存路径 NSString *dictPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"dict.out"]; // 保存array [array writeToFile:arrayPath atomically:YES]; // 保存dictionary [dictionary writeToFile:dictPath atomically:YES]; // 从文件中读取回来 NSArray *arrayFromFile = [NSArray arrayWithContentsOfFile:arrayPath]; NSDictionary *dictFromFile = [NSDictionary dictionaryWithContentsOfFile:dictPath]; for (NSString *element in arrayFromFile) NSLog(@"Beer: %@", element); for (NSString *key in dictFromFile) NSLog(@"%@ Style: %@", key, [dictionary valueForKey:key]); } |
输出如下:



