0

いくつかのパラメーターに応じて、さまざまなファイルパスのデータ (具体的には xml) にアクセスしたいと考えています。つまり、他のいくつかのフォルダー (/Save1/、/Save2/、/Save3/ など) を含む /Saves/ フォルダーがあります。解析できるようになりたいです。

アクセスしたいファイルが次のパスにあると仮定しましょう。

/../projectname/Saves/Save1/dialogue.xml

ファインダー内でフォルダーのサブ構造を作成し、それを XCode プロジェクトにコピーしました。つまり、これらのフォルダーは XCode だけでなくファイル構造にも存在します。その後、私は次のことをしようとしています:

NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:"@/Saves/Save1/dialogue.xml"];
NSData *xmlData = [[NSMutableData alloc] initWithContentsOfFile:path];

ただし、それは適切に機能していないようです。パス変数をログに記録すると、次のようになります。

/Users/<username>/Library/Application Support/iPhone Simulator/5.1/Application/<appcode>/<appname>.app/Saves/Save1/dialogue.xml

私の間違いはどこですか?助けてくれてありがとう。

4

2 に答える 2

1

プロジェクトターゲットにも同じフォルダーを追加したことを確認してください。プロジェクト ターゲットの下に同じ構造を追加してコンパイルすると、同じフォルダーが .app ファイルに作成されます。その後、あなたが言及した方法でアクセスできます。

于 2012-08-31T11:59:07.427 に答える
0

これを試して:

//NSString *path  =  [[NSBundle mainBundle] pathForResource:@"dialogue" ofType:@"xml" inDirectory:@"Saves/Save1"];
NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Saves/Save1/dialogue.xml"];
if([[NSFileManager defaultManager] fileExitsAtPath:path])
{
    NSMutableData *xmlData = [[NSMutableData alloc] initWithContentsOfFile:path];
}
else
{
    NSLog(@"File doesnot exits");
}
于 2012-08-31T12:02:55.230 に答える