0

だから私は関数を手に入れました:

    + (NSString *)dataFilePath:(BOOL)forSave {
NSURL *url = [NSURL URLWithString:@"https://dl.dropbox.com/u/35612216/sample.xml"];
NSData *data = [NSData dataWithContentsOfURL:url];  // Load XML data from web

// construct path within our documents directory
NSString *applicationDocumentsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *storePath = [applicationDocumentsDir stringByAppendingPathComponent:@"sample.xml"];

// write to file atomically (using temp file)
[data writeToFile:storePath atomically:TRUE];

return [[NSBundle mainBundle] pathForResource:storePath ofType:@"xml"];
//return [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"xml"];

}

これは機能しないようですが、プロジェクトにサポートファイル(sample.xml)を追加して、次の行を使用すると、次のようになります。

return [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"xml"];

それが動作します。ただし、サポートファイル(リソースファイル)ではなく、URLからXMLデータを取得する必要があります

誰かが私がこれを修正する方法を知っていますか?

4

1 に答える 1

0

このNSBundleメソッドは、ファイルをアプリの Documents ディレクトリ (別の場所) に保存している間に、アプリのバンドルからファイルを読み込みます。

あなたがする必要があるのは、ファイルがどこにあるreturn storePath;かの表現を与えることだけです.NSString

于 2013-02-22T12:33:08.583 に答える