【问题标题】:Cancel remaining request when entering background进入后台时取消剩余请求
【发布时间】:2013-07-30 17:32:28
【问题描述】:

我的应用有很多请求,它们需要时间才能完成。请求时,我按主页按钮,然后应用程序进入后台。我想取消所有请求,以便再次打开应用程序时可以创建新请求。我该怎么做?是否有任何标准方法可以做到这一点,或者我必须单独取消每项服务(例如在 willEnterBackground 方法中)?

【问题讨论】:

  • 使用网络队列处理多个请求..
  • 或许可以快速阅读一下NSOperationQueue 文档。

标签: iphone ios objective-c ipad


【解决方案1】:
【解决方案2】:

您可以简单地保留对所有活动 NSURLConnections 的引用,而不是陷入管理线程的复杂性。在applicationDidEnterBackground: 取消它们:

for (NSURLConnection *connection in activeConnections) {
   [connection cancel];
}

【讨论】:

  • 但是这样我们必须创建一个包含所有活动连接的参考数组,因为我同时有几个活动连接。
  • 对,但这是微不足道的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多