将NSDictionary保存为plist

我正在使用在这篇文章中find的代码: 多列arrays从Plist ,具有相同的plist格式。

这工作成功,但是我不知道如何将创build的数组以相同的格式保存到plist中。

我将如何实现这一目标?

编辑:这不是我需要的保存,而是保存数据的形成。
plist是一个包含string和相应键的字典数组。 所有具有特定键的string都放入自己的数组中。

我将如何把这个数组放回字典数组中的正确位置,准备保存?

不要忘记创buildmyPlistFile.plist并将其添加到您的应用程序资源文件夹中。

NSError *error; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; 

你可以在这里扫描path并使用for循环searchmyPlistFile.plist

 NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"myPlistFile.plist"]; if (![[NSFileManager defaultManager] fileExistsAtPath: plistPath]) { NSString *bundle = [[NSBundle mainBundle] pathForResource:@"myPlistFile" ofType:@"plist"]; [[NSFileManager defaultManager] copyItemAtPath:bundle toPath:plistPath error:&error]; } [myDict writeToFile:plistPath atomically: YES]; 

这是最简单的方法:

 NSDictionary* dict = ...; [dict writeToFile:@"..." atomically:YES]; 

请参阅-writeToFile:atomically:的文档-writeToFile:atomically:

相反,从一个文件加载一个NSDictionary:

 + (id)dictionaryWithContentsOfFile:(NSString *)path;