我正在向NSArray添加一个NSString,然后在另一个可以完美运行的Tableview中读回它。
在我的Detailview中:
NSString *documentDirectory = [self applicationDocumentsDirectory];
NSString *path = [documentDirectory stringByAppendingPathComponent:@"Favs.plist"];
NSArray *Array = [[NSArray alloc] initWithObjects:self.title, nil];
[Array writeToFile: path atomically:YES];
在我的FavTableView中:
NSString *documentDirectory = [self applicationDocumentsDirectory];
NSString *path = [documentDirectory stringByAppendingPathComponent:@"Favs.plist"];
tempArray = [[NSArray alloc] initWithContentsOfFile:path];
array = [[NSMutableArray alloc] initWithArray:tempArray copyItems:YES];
NSLog(@"array is: %d", [array count]);
但是如果我想在另一个Detail视图中加载另一个String到我的Array,它会覆盖旧值。我该如何避免?
答案 0 :(得分:0)
您需要创建NSDictionary或NSArray,它将包含您的数组并写入该文件的全局字典或数组。如果需要逐个追加数组,则需要执行以下步骤: 1.使用现有文件的内容初始化Dictionary 2.创建在步骤#1中创建的字典的可变副本 3.将新数组添加到字典中 4.将更新的字典写入文件
如果全局数组比全局字典更适合您的需要,步骤是相同的,但使用数组而不是字典=)