写入Plist文件,但不要替换它

时间:2011-08-03 08:39:52

标签: objective-c ios string nsstring

我正在创建一个将字符串写入plist文件的应用程序,但我遇到的问题是每次写入plist文件时,它会删除前一个,我试图弄清楚如何写入现有的删除其原始内容,或替换plist文件并保留原始内容,然后重新写入其中..

下面是我的代码保存文件的样子

 - (NSString *) saveFilePath
 {
NSArray *pathArray =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

return [[pathArray objectAtIndex:0] stringByAppendingPathComponent:@"scores.plist"];

}

 -(void)alertView:(UIAlertView *)alert_view didDismissWithButtonIndex:  
(NSInteger)button_index{
if(button_index == 0){
    NSLog(@"1");
    score = 0;

}
if(button_index == 1){
    NSLog(@"2");

    NSString *scoreString = [NSString stringWithFormat:@"%i by %@", score, name.text];
    NSLog(@"%@", scoreString);
    NSArray *values = [[NSArray alloc] initWithObjects:scoreString, nil];
    [values writeToFile:[self saveFilePath] atomically:YES];
    [values release];

    score = 0;

}
}

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:3)

您可以阅读plist并将其写入NSMutableArray。然后将其附加到您的数据并将其写回文件,覆盖现有数据。

与NSMutableDictionary相同。