写一个plist

时间:2011-03-15 08:06:19

标签: objective-c ios file-io plist

我正在尝试将字典写入plist。 以下代码不报告任何错误,但我找不到我应该写的文件的任何痕迹。 以下是代码段:

 NSDictionary *myDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
 @"First letter of the alphabet", @"A",
 @"Second letter of the alphabet", @"B",
 @"Third letter of the alphabet", @"C",
 nil
 ];

我可以看到使用方法调用正确显示字典内容:

NSLog(@"Here is my partial dictionary %@", myDictionary); 

for (NSString *key in myDictionary)
    NSLog(@"here it is again %@ %@", key, [myDictionary objectForKey:key]);

以下代码在程序重复运行时显示“成功”消息

if ([myDictionary writeToFile: @"myDictionary" atomically:YES ] == NO)
    NSLog(@"write to file failed");
    else
    NSLog(@"write to file succeeded");

即使将atomical:参数更改为NO也不会写入临时文件。 但是,当我搜索当前目录,甚至整个Mac时,我找不到任何名为“myDictionary.plist”的文件或任何带有“myDictionary”字符串的文件。

是不是路径变量“@myDictionary”应该代表当前目录下的文件,即类可执行文件所在的位置?

1 个答案:

答案 0 :(得分:0)

您的代码告诉系统在文件上写字典,但在哪个文件上,文件位置的路径是什么? Alekkhya的代码就是这样做的,它定义了应用程序沙箱中的特定目录(Documents目录),获取了它的路径并将文件写入那里。

我建议你阅读this