【发布时间】:2012-02-07 15:54:07
【问题描述】:
我正在尝试获取一个 plist 来存储多组数据,但每次我保存(使用 ActionSheet 中的按钮)时,它都会覆盖前一组数据。我想添加多个“朋友”和他们的数据。我不太热衷于使用 Core Data,所以我想知道如何使用 Plist 来做到这一点。
这是保存按钮的代码:
NSMutableDictionary *friend = [[NSMutableDictionary alloc] init];
NSMutableDictionary *array = [[NSMutableDictionary alloc]init];
[array setObject:friendName.text forKey:@"Name"];
[array setObject:friendPhone.text forKey:@"Phone Number"];
[array setObject:friendEmail.text forKey:@"Email Address"];
[array setObject:friendChatSN.text forKey:@"Chat Screen Name"];
[friend setValue:array forKey: @"Friend Data"];
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"FriendList.plist"];
[friend writeToFile:plistPath atomically: TRUE];
我如何修改代码以在每次保存时添加一组新的朋友数据,而不是覆盖它?
【问题讨论】:
-
我错过了什么或 [friend setValue:array forKey: @"Friend Data"];是你的问题吗?您每次在字典中覆盖旧数据,将数组值设置为相同的键...
-
我知道我正在覆盖它。我对 iOS 很陌生,我不知道如何编写代码来保存一组新值。如果您能更明确一点并修改我的代码,我将不胜感激。
标签: iphone ios nsmutablearray plist save