1

当我关闭我的应用程序时,我会在 applicationDidEnterBackground 中触发从服务器下载一些数据的代码。在某些情况下,这可能需要一分钟。如果用户在此期间重新打开应用程序,它将停留在初始屏幕上,直到下载完成。重新打开应用程序时有没有办法取消下载?

我尝试使用 applicationDidEnterBackground 中的 performSelectorInBackground 在后台运行下载代码,但在重新打开应用程序之前它不会开始运行。

4

2 回答 2

1

重新打开应用程序时有没有办法取消下载?

如果您正在使用 NSConnection 进行异步下载,您可以向连接对象发送取消消息。

于 2012-04-13T00:00:51.170 回答
1

在应用程序进入后台后,您不允许长时间运行昂贵的任务,但您正在寻找的是:

http://developer.apple.com/library/ios/DOCUMENTATION/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/occ/instm/UIApplication/beginBackgroundTaskWithExpirationHandler

于 2012-04-12T23:33:03.347 回答