我有这段代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"File.plist"];
if([array writeToFile:path atomically: YES]){
NSLog(@"write succesful");}
else {
NSLog(@"write failed");
}
我在文件夹资源中创建了一个文件“File.plist”,我希望在其中存储一个NSMutableArray。当我调用此方法时,控制台中的消息是“写成功”,但如果我在
中更改路径NSString *path = [documentsDirectory stringByAppendingPathComponent:@"FileAbstract.plist"];
消息永远都是“写成功?为什么?我改变了路径中的名字。
答案 0 :(得分:1)
在此代码中,您正在写入文档目录,该目录与项目中的资源文件夹无关。您无法通过运行应用程序来更改资源文件夹中的文件。在第一次运行中,您已经编写了文件File.plist
,并且在第二次运行中,您已在文档目录中编写了文件FileAbstract.plist
。它们与资源文件夹中的File.plist
无关。
编辑:要读取数组中文件的内容:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"File.plist"];
NSArray *array = [NSArray arrayWithContentsOfFile:path];