我正在实现一个iPhone应用程序。我在应用程序中使用异步请求从服务器下载数据。如果,我按下主页按钮,我的应用程序委托不是直接调用。从服务器完成数据下载后,应用程序委托方法是调用。所以,我如何在我的应用程序中获得立即委托调用。
任何帮助都可以升值。
答案 0 :(得分:1)
您正在实施哪些委托方法?你可以在这里发布你尝试过的(代码方式)吗?请注意,一旦您的应用程序移至后台,您只能运行短期任务以延长电池寿命。
此示例由Apple提供:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UIApplication* app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
// Clean up any unfinished task business by marking where you.
// stopped or ending the task outright.
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
// Start the long-running task and return immediately.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// Do the work associated with the task, preferably in chunks.
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
});
}
如果要执行更长时间运行的任务,则需要特殊权限,即使这样,也只能执行某个操作子集。这里讨论它们: