如何将NSMutableDictionary写入Plist

时间:2010-10-21 06:07:57

标签: iphone objective-c plist nsmutabledictionary

任何人都可以帮我解决如何将NSMutableDictionary写入plist ....

提前感谢..

5 个答案:

答案 0 :(得分:6)

确保您要写入的pList文件位于合法的位置以进行编辑,例如应用程序沙箱中的文档。 然后找到该位置的路径(如果有现有的pList文件,它将覆盖),并使用:

[myDictionary writeToFile:path atomically:YES];

写下你在这个过程中的距离,也许还有一些代码/错误消息......

答案 1 :(得分:4)

[yourDict writeToFile:filePath atomically:YES];

请注意,词典必须包含plist对象(NSDataNSDateNSNumberNSStringNSArrayNSDictionary的实例。字典键必须是NSString个对象

答案 2 :(得分:2)

问题是您的应用程序正在尝试将plist写入其自己的bundle中。您的plist应存储在用户库中。但是,如果您要存储用户的服务凭据,那么您真的应该使用Mac OS X Keychain服务来存储该信息。

答案 3 :(得分:1)

NSMutableDictionary *nameDetails=[[NSMutableDictionary alloc] init]; 
[nameDetails setValue:username forKey:USERNAME_KEY]; 
[nameDetails setValue:password forKey:PASSWORD_KEY]; 

NSString *loginDetails = [[NSBundle mainBundle] pathForResource:@"Login" ofType:@"plist"]; 
[nameDetails writeToFile:loginDetails atomically:YES];

savedStock = [NSMutableDictionary dictionaryWithContentsOfFile:loginDetails];

答案 4 :(得分:1)

NSString *pathToPlist = [[NSBundle mainBundle] bundlePath];
pathToPlist = [pathToPlist stringByDeletingLastPathComponent];
pathToPlist = [pathToPlist stringByAppendingPathComponent:@"Documents"];
NSLog(@"%@", pathToPlist; //*
pathToPlist = [pathToPlist stringByAppendingPathComponent:@"Login.plist"];
NSDictionary *nameDetails = @{@"name": @"Albert", @"password": @"emc2"};
[nameDetails writeToFile:pathToPlist atomically:YES];
  • 我们正在记录控制台的路径,以便能够在Finder中找到它。将路径从控制台复制到剪贴板。然后在Finder中从Go菜单中选择“Go To Folder ...”。将路径粘贴到对话框中,将打开plist所在的文件夹。然后你可以检查它并确保一切正常。