我正在尝试使用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];
}}
答案 0 :(得分:1)
由于您正在进行异步调用,因此该方法无法立即返回值,而您可以执行的操作是在完成和失败块中调用回调方法。例如,[delegate requestFinishedWithSuccess:YES]
或发布通知。