任何人都可以帮助我如何将 NSMutableDictionary 写入 plist....
提前致谢..
确保您正在写入的 pList 文件位于可以编辑它的合法位置,例如应用程序沙箱中的文档。然后找到该位置的路径(如果存在现有 pList 文件,它将覆盖),并使用:
[myDictionary writeToFile:path atomically:YES];
写下你在这个过程中走了多远,也许还有一些代码/错误消息......
[yourDict writeToFile:filePath atomically:YES];
请注意,字典必须包含 plist 对象(NSData
、NSDate
、NSNumber
、NSString
、NSArray
或的实例NSDictionary
)。并且字典键必须是NSString
对象
问题是您的应用程序正在尝试将 plist 写入它自己的包中。您的 plist 应存储在用户库中。但是,如果您要存储用户的服务凭证,那么您真的应该使用 Mac OS X 钥匙串服务来存储该信息。
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];
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];