2012-04-17 14 views
0

私は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]; 
}} 

答えて

1

あなたは非同期呼び出しを行っているので、この方法はすぐに値を返すことはできませんが、あなたが代わりに行うことができますことはあなたの完了でコールバックメソッドを呼び出し、ブロックに失敗することです。たとえば、[delegate requestFinishedWithSuccess:YES]か、通知を送信します。

関連する問題