2010-07-13 62 views
0

在设备上存储plist的正确文件路径是什么?在设备上存储plist的正确文件位置

我在一个教程

这将为电脑前工作的阅读,想了解该设备的文件位置。

// write xml representation of dictionary to a file 
[dictionary writeToFile:@"/Users/henrik/Sites/foo.plist" atomically:NO]; 

我现在试着写,我从

NSString *filepath = [[NSBundle mainBundle] 
         pathForResource:@"UserAdded" ofType:@"plist"]; 
userAddedQuotes = [[NSMutableArray alloc] initWithContentsOfFile:filepath]; 

读取文件路径如下

[userAddedQuotes addObject:temp]; 
    [userAddedQuotes writeToFile:filepath atomically: NO]; 

的数组被在运行时更新,但犯规得到保存到的plist 。

回答

4

您无法写入应用程序包内的任何文件(包括您的资源目录)。如果你想写一个文件,你应该把它写入你的应用程序文档或库文件夹,这取决于文件是什么。例如:

NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

将返回一个路径数组,其中第一个是您的文档目录。

+0

太好了。我如何写入路径?我之前很想知道这个文件,但我还没有存档,我该如何在该位置创建一个plist?问候 – jarryd 2010-07-13 14:30:57

+0

你只需写信给它。上述代码对于写入文件是正确的,问题在于您正在尝试写入只读文件。把它指向一个可写的位置(比如我提到的那个),你应该没问题。 可能值得注意的是,从iOS 4和Snow Leopard开始,最好使用基于URL的方法(writeToURL :)和NSURL,但这不是必需的。 – 2010-07-13 14:46:52

+0

好的。我现在正确地设置它,但是当试图写入它时,应用程序崩溃,没有错误。我认为这是因为文档目录中没有文件。如何从代码中创建?还是有一个地方的文件可以放在Xcode项目?问候 – jarryd 2010-07-13 19:33:48

相关问题