将NSArray添加到.plist

时间:2011-10-27 14:21:25

标签: ios xcode uitableview plist

我正在向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,它会覆盖旧值。我该如何避免?

1 个答案:

答案 0 :(得分:0)

您需要创建NSDictionary或NSArray,它将包含您的数组并写入该文件的全局字典或数组。如果需要逐个追加数组,则需要执行以下步骤:  1.使用现有文件的内容初始化Dictionary  2.创建在步骤#1中创建的字典的可变副本  3.将新数组添加到字典中  4.将更新的字典写入文件

如果全局数组比全局字典更适合您的需要,步骤是相同的​​,但使用数组而不是字典=)