1

サーバー用に3つの異なる.plistファイルをダウンロードする必要があるプロジェクトに取り組んでいますが、そのうちの1つしかダウンロードできません。3つすべてをダウンロードする方法を知っている人はいますか?ASIHTTPRequestを使用しています。マイコード:

- (void)downloadPlist {
NSLog(@"Download in progress...");


progressView.alpha = 1.0;


// Here we're downloading the .plist file from a server to the app's Documents Directory.
// Create file manager
fileManager = [NSFileManager defaultManager];

// Point to Document directory
documentsDirectory = [NSHomeDirectory()
                      stringByAppendingPathComponent:@"Documents"];


documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

filePath = [documentsDirectory stringByAppendingPathComponent:@"example1.plist"];
filePath = [documentsDirectory stringByAppendingPathComponent:@"example2.plist"];
filePath = [documentsDirectory stringByAppendingPathComponent:@"example3.plist"];




// files from server.
NSURL *url = [NSURL URLWithString:@"http://myWeb.com/example1.plist"];
NSURL *url1 = [NSURL URLWithString:@"http://myWeb.com/example2.plist"];
NSURL *url2 = [NSURL URLWithString:@"http://myWeb.com/example3.plist"];



request = [ASIHTTPRequest requestWithURL:url];
request = [ASIHTTPRequest requestWithURL:url1];
request = [ASIHTTPRequest requestWithURL:url2];
[request setShowAccurateProgress:YES];
[request setDownloadDestinationPath:filePath];
[request setDownloadProgressDelegate:progressView];
[request setDelegate:self];
[request startAsynchronous];

}

私は正しい方向に進んでいると思いますが、よくわかりません...乾杯!

4

1 に答える 1

3

3つのファイルを取得するために、いくつかの場所で同じ変数名を使用しました。最初の変数は「filePath」です

変数を別の名前に変更します。たとえば、次のようになります。

filePath1 = [documentsDirectory stringByAppendingPathComponent:@"example1.plist"];
filePath2 = [documentsDirectory stringByAppendingPathComponent:@"example2.plist"];
filePath3 = [documentsDirectory stringByAppendingPathComponent:@"example3.plist"];

「リクエスト」変数も同じですか?

たとえば、このように修正します。

request1 = [ASIHTTPRequest requestWithURL:url];
request2 = [ASIHTTPRequest requestWithURL:url1];
request3 = [ASIHTTPRequest requestWithURL:url2];

または、リクエストオブジェクトを1つだけにしたい場合は、3つのURLすべてをループして、リクエストを1つずつ割り当ててみてください。ループ内に異なるfilePathsを指定するようにしてください

[request setDownloadDestinationPath:filePath**{N}**];
于 2012-11-05T14:57:44.677 に答える