如果有人能帮助我停止向服务器发出同步请求,特别是在从后台移动到前台时,我将不胜感激。
提前致谢。
答案 0 :(得分:1)
如果你使用普通的NSURLConnection,你可以发送取消命令。 (docs)
init喜欢:
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
取消如此:
[connection cancel];
答案 1 :(得分:0)
我们在谈论+[NSURLConnection sendSynchronousRequest:returningResponse:error:]
吗?在这种情况下,您无法停止此请求。
如果您需要在中途停止网络操作,则需要使用异步API。我个人更喜欢使用NSURLConnection
来完成自己的工作,当前任务的工作量最少,通常是NSOperation
或只是一些GCD。我强烈建议您学习如何使用NSURLConnection
,即使您选择使用其他方法。
另一种方法是AFNetworking,包裹NSURLConnection
是NSOperation
,您可以拨打cancel
。