在我的应用程序中,我使用后台线程来访问多个服务并使用核心数据执行操作。我已经将主线程用于后台进程,它工作正常。这是我的代码
dispatch_queue_t main = dispatch_get_main_queue();
dispatch_async(main,
^{
[self backGroundCall];
});
-(void)backGroundCall
{
NSLog(@"Done");
if([CacheManager refreshDBforFirstTimeUseWithDelegate:self])
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"IsDBInitialized"];
ContainerViewController *containerViewControllerInstance = [ContainerViewController getContainerInstance];
[containerViewControllerInstance setUserId:_userID];
[progressView setHidden:YES];
[self.view setUserInteractionEnabled:YES];
[self.navigationController setDelegate:containerViewControllerInstance];
[self.navigationController pushViewController:containerViewControllerInstance animated:YES];
}
}
初始化数据库后,我需要导航到容器视图。在初始化期间,我将显示一个进度条。当整个后台进程完成时(应用程序处于最小化状态),这一切正常。在后台过程中,如果我来到前台进度条当时没有显示黑屏而不是进度视图。主威胁容器视图完成后所有不显示[如果我来到主线程进程的前台]。
如果我在主线程进程的中间返回应用程序,我需要显示进度条。请指导我解决此问题。
谢谢。