0

我正在学习 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;
    }

这是我的程序的附加屏幕截图

在此处输入图像描述

4

1 回答 1

0

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

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

/Users/<your home>/prog36

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

/Users/<your home>/prog36/prog36

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

于 2013-12-16T13:06:58.323 回答