私のプロジェクトでは、GAME.jsというプレーンテキストファイルがあり、ファイルの内容を取得しようとしています。それが動作するはずのようXcodeでファイルの内容を取得する
[NSString stringWithContentsOfFile:@"GAME.js" encoding:NSUTF8StringEncoding error:nil];
は聞こえますが、それは単に空の文字列を返します。
これを解決してください。
私のプロジェクトでは、GAME.jsというプレーンテキストファイルがあり、ファイルの内容を取得しようとしています。それが動作するはずのようXcodeでファイルの内容を取得する
[NSString stringWithContentsOfFile:@"GAME.js" encoding:NSUTF8StringEncoding error:nil];
は聞こえますが、それは単に空の文字列を返します。
これを解決してください。
あなたはNSError
に渡すと、それは問題がある正確に何を教えてくれます:
NSError *error = nil;
NSString *myString = [NSString stringWithContentsOfFile:@"GAME.js" encoding:NSUTF8StringEncoding error:&error];
if (error) {
NSLog(@"%@", [error localizedDescription]);
} else {
NSLog(@"%@", myString);
}
をまた、それはあなたの文書にすることができたディレクトリであるかどうかを確認しますNSSearchPathForDirectoriesInDomains
でアクセス:
NSError *error = nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *fullPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"GAME.js"];
NSString *myString = [NSString stringWithContentsOfFile:fullPath encoding:NSUTF8StringEncoding error:&error];
if (error) {
NSLog(@"%@ - %@", [error localizedDescription], [error localizedFailureReason]);
} else {
NSLog(@"%@", myString);
}
GAME.js
をXcodeプロジェクトのResources
フォルダに置き、次のコードを使用してファイルの内容を取得します。
NSError *error = nil;
NSString* path = [[NSBundle mainBundle] pathForResource:@"GAME" ofType:@"js"];
NSString* gameFileContents = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
o_O操作を完了できませんでした。 (Cocoa error 260.) - (null) – milo
申し訳ありませんが、あなたの実際のエラーではなく、私があなたに与えたコードのエラーであると誤解しました...私はエラーコード(260)を見なければならないでしょうが、 @ChrisLedet答えは、おそらく動作します。彼の答えがうまくいかない場合は、最後の回答の編集で追加したものを試してください。 – chown
Cocoa(Touch)では、[エラー出力パラメータを調べる前にメソッドの戻り値を確認する]必要があります(http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ErrorHandlingCocoa/CreateCustomizeNSError/CreateCustomizeNSError .html)。 –