リクエストを非同期的に使用することをお勧めします。
リクエストが完了したかどうかを確認するには、クラスを[ASIHTTPRequestDelegate][1]
に準拠させるだけで済みます。 成功した、失敗した、またはリダイレクトされたリクエストを実装する方法をたくさん提供します。
あなたが探している場合 - (void)requestFinished:(ASIHTTPRequest *)request;
現在の呼び出し元クラスに要求の代理人を設定する必要があります。
現在のリクエストの結果に応じて、別のリクエストを送信できます。そこにif-statement
を入れてURLと応答コードを確認し、それに応じて次のリクエストを発してください。 (。。そこには、次の要求を呼び出すことができるときを決定するために他の多くの方法があるしかし、最も簡単には最初のリクエストの結果を聞くことであろう)
ここASIHTTPRequest Projects Documentationからのコードのビットです:
- (IBAction)grabURLInBackground:(id)sender
{
NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request startAsynchronous];
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
// Use when fetching text data
NSString *responseString = [request responseString];
// Use when fetching binary data
NSData *responseData = [request responseData];
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
NSError *error = [request error];
}
HTH
ありがとうございました。 実際に私はそれらの要求を待ち行列に入れることもできることを知りました。右 ? – EricDumont