任何人都可以帮我解决如何将NSMutableDictionary写入plist ....
提前感谢..
答案 0 :(得分:6)
确保您要写入的pList文件位于合法的位置以进行编辑,例如应用程序沙箱中的文档。 然后找到该位置的路径(如果有现有的pList文件,它将覆盖),并使用:
[myDictionary writeToFile:path atomically:YES];
写下你在这个过程中的距离,也许还有一些代码/错误消息......
答案 1 :(得分:4)
[yourDict writeToFile:filePath atomically:YES];
请注意,词典必须包含plist对象(NSData
,NSDate
,NSNumber
,NSString
,NSArray
或NSDictionary
的实例。字典键必须是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];