1

也许您可以帮助我找到处理此问题的适当方法:

  1. 我有一个 NSTimer(在我的 AppDelegate 中启动),它触发一个类来启动异步服务器请求(我使用 ASIFormDataRequest)
  2. 当收到 HTTP JSON 响应时,我使用 TouchJSON 解析它
  3. 然后我循环获得的 NSDictionary 来填充一个专用的 NSManagedObjectContext
  4. 然后我将此上下文保存在一些用户交互中

有时会发送 HTTP 请求并且用户退出应用程序。我想获得额外的时间以在后台完成任务 2 到 4。

我阅读了 Apple 文档,但仍然不清楚如何为已经开始的异步操作获得额外的时间?

简而言之,我应该如何使用 beginBackgroundTaskWithExpirationHandler ?

感谢您非常有用的帮助。

赫罗德

4

1 回答 1

2

ASIHTTPRequest 支持在后台运行请求:

[request setShouldContinueWhenAppEntersBackground:YES];

如果您在委托通知中执行步骤 2-4 并设置上述标志,那么这应该可以满足您的需求。

但是,一旦您的应用程序进入后台,您将无法与用户交互。

于 2011-04-29T17:36:18.423 回答