如何将NSMutableDictionary保存到文档中的文件?
我想将一个NSMutableDictionary对象的内容保存到一个文件。 我该怎么做呢 ? 我已经知道如何做一个NSDictionary对象这个任务,但我不知道如何将此NSMutableDictionary转换/复制到一个NSDictionary …除非有一种方法直接写入NSMutableDictionary的内容到一个文件…我强调NSMutableDictionary对象包含NSDictionarytypes的对象。
Thx帮助,
斯特凡
NSMutableDictionary
是NSDictionary
一个子类:你可以在任何你使用NSDictionary
地方使用它。 从字面上看,只需将对象传递给您现在用于NSDictionary
的相同代码即可。
从更一般的意义上讲,如果你真的需要从一个NSMutableDictionary
获得一个真正不可变的NSDictionary
,只需要调用NSMutableDictionary
上的copy
。
其他的方法包括[NSDictionary dictionaryWithDictionary:]
或[NSDictionary alloc] initWithDictionary:]
,这些都基本上是相同的东西。
如果你只是摆动到NSDictionary文件。 你会看到有一种方法可以将字典保存到文件中
writeToFile:atomically:
将字典内容的属性列表表示写入给定的path。
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag
参数
path:写入文件的path。 如果path包含代字符(〜)字符,则必须在调用此方法之前使用stringByExpandingTildeInPath对其进行扩展。
标志:一个标志,指定文件是否应以primefaces方式写入。
如果标志为YES,则将字典写入辅助文件,然后将辅助文件重命名为path。 如果标志为NO,则字典直接写入path。 YES选项保证path(如果存在的话)即使系统在写入期间崩溃也不会被破坏。
返回值
如果文件写入成功则为YES,否则为NO。
在写出文件之前,此方法recursion地validation所有包含的对象是属性列表对象(NSData,NSDate,NSNumber,NSString,NSArray或NSDictionary的实例),如果所有对象不是属性列表对象,则返回NO生成的文件不会是有效的属性列表。
如果字典的内容都是属性列表对象,则可以使用此方法编写的文件通过类方法dictionaryWithContentsOfFile或实例方法initWithContentsOfFile:来初始化新的字典。
所以你正在寻找的代码可能是这样的:
[myDict writeToFile:path atomically:YES]
其中, myDict
是您拥有的字典, path
是要保存到的位置的path