2012-01-07 5 views
1

iPhoneアプリを作っていて、テキストファイルからハイスコアをロードしたいと思っています。 highscores1.txtという名前のファイルを作成し、xcodeプロジェクトに追加しました。ファイル内のテキストからNSStringを作成しようとすると、NSStringの値はnilになります。ここに私のコードは次のとおりです。ローカルのファイルからのnsstringの問題

NSString *highscore1 = [NSString stringWithContentsOfFile:@"/Users/deepikama/Documents/games/Dodge Cars/Dodge Cars/highscore1.txt" encoding:NSUTF8StringEncoding error:NULL]; 

そして、これは私が見つけることが意図された値になり:

NSString *highscore1 = [NSString stringWithContentsOfFile:@"highscore1.txt" encoding:NSUTF8StringEncoding error:NULL]; 

私はこのようにその完全なパスへのファイルパスを変更してみました。なぜ完全なパスは機能するのですか、ローカルパスは機能しませんか?どのようにローカルパスを動作させることができますか?

答えて

1

ローカルに取得する方法が見つかりました。コードを次のように変更しました:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"highscore1" ofType:@"txt"]; 
    NSString *highscore1 = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL]; 

とにかく助けてくれてありがとう。

0

あなたは、あなたが先のグループのフォルダにコピー項目を選択しなかったXcodeでプロジェクトへのファイル

+0

はいテキストファイルはグループフォルダにあります。 –

1

は、私は、これはあなたが必要なものを説明して考えることを追加する場合:

http://www.techotopia.com/index.php/Working_with_Directories_on_iOS_4_(iPhone)#Identifying_the_Documents_Directory

はまた、私はあなたのために働くものはシミュレータ上でのみ実行され、実際のデバイス(ディレクトリ構造が異なる場所)では実行されないことに賭けていました。

+0

それは素晴らしいですが、私は地方の道からそれを得ることができますか?そうすれば、私はシミュレータとデバイスでテストすることができました。 –

+0

このシミュレータには、デバイスで見つけたものに対応するドキュメントディレクトリもあります。ここにそれを説明するリンクがあります:http://idevhub.com/where-is-the-iphone-simulator-filesystem-stored/ –

関連する問題