将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;