0

(ASIHTTPRequestを使用して)リクエストが終了したことをどのように判断しますか?これが私が使用しているコードです:

[request setDidFinishSelector:@selector(requestFinished:)];

...

-(void)requestFinished:(ASIHTTPRequest *)request {

    NSLog(@"The request is done.");

}

ただし、リクエストが行われると、「リクエストが完了しました」がログに出力されることはありません。私は何か間違ったことをしていますか?ありがとう。

4

2 に答える 2

1

おそらくあなたの接続は失敗していますか?この場合、-(void)requestFailed:(ASIHTTPRequest *)requestをテストする必要があります

リクエストデリゲートを設定しましたか?コード例:

- (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];
}
于 2011-11-21T18:49:30.780 に答える
0

デリゲートを自分自身に設定するのを忘れました。おっと!

[request setDelegate:self];
于 2011-11-21T18:55:23.900 に答える