应用程序进入后台时取消API请求

时间:2011-11-02 14:25:44

标签: objective-c url

在我的iPhone中启动应用程序时,我需要从服务器下载数据。当我按下主页按钮将应用程序输入后台时,下载数据(在进程中间)。这次我需要停止已经执行的API请求。目前applicationDidEnterBackground方法正在调用延迟(下载数据后)。同时应用程序崩溃。如何在应用程序进入后台时取消URL连接。

请帮帮我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

一种方法是在app控制器中设置某种标志,您可以定期检查该请求是否被取消。

或者,更好的是,NSThread对象提供了一种机制来指示它应该被取消。如果你进入后台,将你的分离线程设置为取消(通过[NSThread cancel]),然后在你拥有的任何API回调中,你应该定期检查[NSThread isCancelled]是否正在返回YES

以下是关于[NSThread cancel]的Apple文档的链接。

http://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSThread_Class/Reference/Reference.html#//apple_ref/occ/instm/NSThread/cancel

希望这有帮助!