2011-08-03 26 views
1

我創建了一個應用程序,將字符串寫入plist文件,但問題是每當它寫入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; 

} 
} 

任何想法?謝謝!

回答

3

你可以閱讀plist並將其寫入NSMutableArray。然後附加數據並將其寫回覆蓋現有數據的文件。

與NSMutableDictionary一樣。

+0

因此,基本上創建一個NSArray,添加現有的plist文件內容,並添加新的,然後保存? – Jacob

+0

NSMutableArray * arr = [NSMutableArray arrayWithContentsOfFile:file_path]; – Max

+0

這似乎工作!謝謝花花公子 – Jacob

相關問題