0

ASIHTTPRequest を使用しようとしています。リクエストを非同期で呼び出す必要があります。私がやろうとしているのは、アプリケーションからこのメソッドを呼び出して、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];
}}
4

1 に答える 1

1

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

于 2012-04-17T21:37:14.280 に答える