iOS继续完成任务
我正在为正在处理的应用程序实现提交队列。此应用程序旨在响应网络可用性的变化。如果队列中有对象,并且网络连接可用,则应用程序将开始提交队列中的对象,当应用程序位于前台时,该操作将非常有效。当应用程序进入后台并且队列正在提交时,我想做的是让队列继续提交,直到它尝试提交所有队列 队列提交的方法是:iOS继续完成任务,ios,Ios,我正在为正在处理的应用程序实现提交队列。此应用程序旨在响应网络可用性的变化。如果队列中有对象,并且网络连接可用,则应用程序将开始提交队列中的对象,当应用程序位于前台时,该操作将非常有效。当应用程序进入后台并且队列正在提交时,我想做的是让队列继续提交,直到它尝试提交所有队列 队列提交的方法是: -(void)submitAll { dispatch_async( dispatch_get_global_queue(DISPTACH_PRIOROITY_DEFAULT,0) ^(void){
-(void)submitAll {
dispatch_async( dispatch_get_global_queue(DISPTACH_PRIOROITY_DEFAULT,0) ^(void){
self.submitting = TRUE;
for ( id queueObject in theQueue ) {
[self submitQueueObject:queueObject];
}
self.submitting = FALSE;
});
}
当应用程序进入后台时,是否可以继续执行上述循环?如果可以在大约10分钟内完成,则可以使用
UIApplication:beginBackgroundTaskWithExpirationHandler:
要在移出前台后继续执行操作应在10分钟内完成,但我如何才能挂接到已在运行的循环中?您不需要挂接它,在前台工作的代码将继续工作,就像应用程序在后台时一样。想象一下beginBackgroundTaskWithExpirationHandler:就像请求在后台继续运行的权限一样。(它的名字意味着您实际上必须开始做某事,或者在调用它时要运行特定的任务,但事实并非如此)。调用BeginBackgroundTaskWithExpirationHandler:每当您的应用程序处于活动状态时。