如何正确地将文本文件传递给NSFileManager

时间:2013-09-16 11:51:01

标签: objective-c nsfilemanager

我正在学习Objective-C,我在将文本文件传递给NSFileManager类时遇到了问题。我在我的程序所在的同一目录中创建了新的空文件“testfile”,但是NSFileManager以某种方式找不到这个文件。我不知道问题是什么:

NSString *fileName = @"testfile";
    NSFileManager *fileMgr;
    NSDictionary *attrib;

    fileMgr = [NSFileManager defaultManager];

    NSLog(@"%@",[fileMgr currentDirectoryPath]);

    // verifying the test file exists
    if([fileMgr fileExistsAtPath: fileName] == NO) {
        NSLog(@"File doesn't exist");
        return 1;
    }

以下是我程序的其他截图

enter image description here

1 个答案:

答案 0 :(得分:0)

很可能确定该文件不在程序运行的目录中。当您从Xcode运行程序时,它通常直接在Xcode项目的顶层运行。 NSLog应该准确地告诉您哪个目录。

请注意,默认情况下,Xcode具有整个项目的顶级目录和每个目标的代码的子目录。因此,如果您的项目直接位于您的主目录中,Xcode将在

中运行该程序
/Users/<your home>/prog36

但您的文本文件(位于目标的目录中)位于

/Users/<your home>/prog36/prog36

请注意两个嵌套目录,均称为prog36