Objective c 写一本书
我正在试着给一个学生写一本字典。 下面的代码没有报告任何错误,但我找不到我认为编写的文件的任何跟踪。 以下是代码片段:Objective c 写一本书,objective-c,ios,file-io,plist,Objective C,Ios,File Io,Plist,我正在试着给一个学生写一本字典。 下面的代码没有报告任何错误,但我找不到我认为编写的文件的任何跟踪。 以下是代码片段: NSDictionary *myDictionary = [NSDictionary dictionaryWithObjectsAndKeys: @"First letter of the alphabet", @"A", @"Second letter of the alphabet", @"B", @"Third letter of the alphabet", @
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");
即使在将atomically:参数更改为NO以不写入临时文件时也是如此。
但是,当我搜索当前目录,甚至整个Mac时,我找不到任何名为“myDictionary.plist”的文件或任何字符串为“myDictionary”的文件
路径变量“@myDictionary”不应该表示当前目录下的文件,即类可执行文件所在的目录吗?您的代码告诉系统在文件上编写字典,但在哪个文件上,文件位置的路径是什么?Alekkhya的代码就是这样做的,它在应用程序沙箱(Documents目录)中定义了一个特定的目录,获取它的路径并将文件写入其中
我建议您阅读。我在您发布的代码中没有看到任何路径或目录声明。代码段[myDictionary writeToFile:@“myDictionary”原子化:是]是否指定“myDictionary”作为写入当前目录的文件?至少参考书(例如,Kochan,第436页)是这么说的,我不这么认为。您必须获取要写入的目录的引用。没有什么比得上当前目录。请记住,您的应用程序是在沙箱环境中执行的。我建议你阅读我帖子链接中的苹果文档。好的,谢谢。我想这些例子(即使是在本网站上极力推荐的书籍中)也不应该从表面上看……如果答案对你有帮助,不要忘记点击它旁边的“右”标记(接受它作为解决方案)。你似乎不接受任何问题的答案。