我应该如何在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]
或发布通知。