1

テキストファイルを1行ずつ読み取ろうとしていますが、テキストファイルは非常に小さいファイルになるため、次を使用しました。

NSString *fileContents = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

ただし、その行で次のような例外が発生します。

[NSURL getFileSystemRepresentation:maxLength:]: unrecognized selector sent to instance 0x7f92c40e1890

私はObjective-Cに本当に慣れていないので、なぜこれが起こっているのかわかりません...

前もって感謝します。


NSString *filePath;
NSOpenPanel *fileBrowser = [NSOpenPanel openPanel];
[fileBrowser setCanChooseFiles:YES];
[fileBrowser setCanChooseDirectories:YES];
if ([fileBrowser runModal] == NSOKButton) {
    NSArray *files = [fileBrowser URLs];
    for ( int i = 0; i < [files count]; i++ ) {
        filePath = [files objectAtIndex:i];
    }
}

[fileBrowser URLs] の部分のせいでしょうか。ありがとうございました。

4

2 に答える 2

4

のように見えますfilePathNSURLstringWithContentsOfFile:encoding:error:パスはNSString.

これを試して:

NSString *fileContents = [NSString stringWithContentsOfURL:filePath encoding:NSUTF8StringEncoding error:nil];
于 2012-04-09T03:26:27.503 に答える
1

NSURLにはメソッドがないため、このエラーが発生しています。getFileSystemRespresentationこれは にありNSStringます。

このメソッドを文字列で使用するか、文字列をのメソッドにfileContents渡すことができます。fileContentsNSURLURLWithString

于 2012-04-09T03:26:35.597 に答える