我应该如何在iOS中处理ASIHTTPRequest异步调用?

问题描述:

我正在尝试使用ASIHTTPRequest。我需要在异步中调用请求。我正在尝试做什么,从我的应用程序中调用此方法,并且能够返回BOOL值,请求是否成功。我能够在同步呼叫中做到这一点。怎么可能做到?我需要某种方式,将价值返回给我的应用程序,是否成功或不成功。我的请求调用,分开分类,我想保持逻辑与应用程序分离。这就是为什么我需要回报价值。感谢帮助!我应该如何在iOS中处理ASIHTTPRequest异步调用?

- (BOOL)sendRequest 
{ 
     NSURL* url = [NSURL URLWithString:ServerApiURL]; 
    __block ASIHTTPRequest* request = [ASIHTTPRequest requestWithURL:url]; 

    [request setCompletionBlock:^ 
    { 

      if ([request responseStatusCode] == 200) 
      { 
       //NEED SOMEHOW RETURN TRUE IF SUCESSED  
      }  
    }]; 

    [request setFailedBlock:^ 
    { 
     //NEED RETURN FALSE 
    }]; 

    [request startAsynchronous]; 
}} 

由于您正在进行异步调用,因此该方法无法立即返回值,您可以改为调用完成和失败块中的回调方法。例如,[delegate requestFinishedWithSuccess:YES]或发布通知。