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

时间:2012-04-17 21:11:18

标签: objective-c ios cocoa-touch ios5

我正在尝试使用ASIHTTPRequest。我需要在异步中调用请求。我正在尝试做什么,从我的应用程序调用此方法,并能够RETURN BOOL值,请求是否成功。我能够在同步调用中完成它。怎么可能呢?我需要以某种方式,将值返回给我的应用程序,该调用是否成功。我的请求调用,是单独分类,我想保持逻辑分离应用程序。这就是为什么我需要能够以某种方式返回价值。谢谢你的帮助!

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

1 个答案:

答案 0 :(得分:1)

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