2011-11-21 3 views
0

요청이 완료되면 (ASIHTTPRequest 사용) 어떻게 알 수 있습니까? 사용중인 코드는 다음과 같습니다.요청이 완료되면 알려주는 방법 (ASIHTTPRequest)?

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

... 

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

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

} 

그러나 요청이 완료되면 "요청 완료"라는 메시지가 로그에 인쇄되지 않습니다. 내가 뭔가 잘못하고 있는거야? 감사.

+2

수신 객체 (예 : 자습서)에 대리자를 설정하는 것을 잊었을 수 있습니까? – Till

+0

@TillUloops, 그게 다야. 감사! –

답변

0

대리인을 자기 자신으로 설정하는 것을 잊었습니다. 죄송합니다.

[request setDelegate:self]; 
1

아마도 연결에 실패 했습니까? 이 경우 - (void) requestFailed : (ASIHTTPRequest *) 요청을 테스트해야합니다.

요청 위임을 설정 했습니까? 예제 코드 :

- (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]; 
}