我应该如何处理 iOS 中的 ASIHTTPRequest 异步调用?
Posted
技术标签:
【中文标题】我应该如何处理 iOS 中的 ASIHTTPRequest 异步调用?【英文标题】:How should I handle ASIHTTPRequest asynchronous call in iOS? 【发布时间】:2012-04-17 21:11:17 【问题描述】:我正在尝试使用 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];
【问题讨论】:
【参考方案1】:由于您正在进行异步调用,该方法无法立即返回值,您可以做的是在您的完成和失败块中调用回调方法。例如,[delegate requestFinishedWithSuccess:YES]
或发布通知。
【讨论】:
以上是关于我应该如何处理 iOS 中的 ASIHTTPRequest 异步调用?的主要内容,如果未能解决你的问题,请参考以下文章