2012-07-30 58 views

回答

7

您可以將標記設置爲ASIHttpRequest,比如yourRequest.tag並使用下面的委託方法。如果完全成功完成比它將在requestFinished中發生,並且如果出現問題,它將發送到requestFailed。

- (void)requestFinished:(ASIHTTPRequest *)request 
{ 
    // Use when fetching text data 
    NSString *responseString = [request responseString]; 
} 

- (void)requestFailed:(ASIHTTPRequest *)request 
{ 
    NSError *error = [request error]; 
} 
3

檢查下面的代碼,它可以幫助你

 if (!networkQueue) 
     { 
      networkQueue = [[ASINetworkQueue alloc] init]; 
     } 
     [networkQueue reset]; 
     [networkQueue setRequestDidFinishSelector:@selector(requestDone:)]; 
     [networkQueue setRequestDidFailSelector:@selector(requestWentWrong:)]; 
     [networkQueue setShowAccurateProgress:TRUE]; 
     [networkQueue setDelegate:self]; 
     ASIHTTPRequest *requestqueue; 
     requestqueue = [[[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:str_imageurl]] autorelease]; 
     [requestqueue setDownloadDestinationPath:[str_downloadpath stringByAppendingPathComponent:str_imgname]]; 
     NSMutableDictionary *dictinfo=[[NSMutableDictionary alloc]init]; 
     [dictinfo setValue:str_settingvalue forKey:@"SettingValue"]; 
     [requestqueue setUserInfo:dictinfo]; 
     [networkQueue addOperation:requestqueue]; 
     [networkQueue go]; 

ON委託方法

//queue responder.... 
    -(void)requestDone:(ASIHTTPRequest *)request 
    { 
     NSLog(@"%@",[request userInfo]); 
     if ([[[request userInfo]valueForKey:@"SettingValue"]isEqualToString:kAppSplashScreenDOWNLOADURL]) 
     { 
      //FORM DATA REQEUST FOR PARTICULAR REQUEST HAS BEEN SUCCESS FULL 
     } 
    } 
    -(void)requestWentWrong:(ASIHTTPRequest *)request 
    { 
     NSLog(@"%@",[request userInfo]); 
     if ([[[request userInfo]valueForKey:@"SettingValue"]isEqualToString:kAppSplashScreenDOWNLOAD]) 
     { 
      //FORM DATA REQEUST FOR PARTICULAR REQUEST HAS BEEN FAIL 
     } 

    } 

問候 尼基爾

相關問題