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

ネストされた 2 つのディレクトリに注意してください。prog36

于 2013-12-16T13:06:58.323 に答える