3

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

提前致谢..

4

5 回答 5

6

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

[myDictionary writeToFile:path atomically:YES];

写下你在这个过程中走了多远,也许还有一些代码/错误消息......

于 2010-10-21T08:49:47.113 回答
4
[yourDict writeToFile:filePath atomically:YES];

请注意,字典必须包含 plist 对象(NSDataNSDateNSNumberNSStringNSArray或的实例NSDictionary)。并且字典键必须是NSString对象

于 2010-10-21T06:12:02.330 回答
2

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

于 2010-12-08T14:41:19.600 回答
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];
于 2010-10-22T11:19:25.230 回答
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 所在的文件夹。然后您可以检查它并确保一切正常。
于 2013-12-04T13:31:47.877 回答