1
在我的应用程序中,我使用回地线程来打多个服务并使用核心数据执行操作。我已经使用主线程进行背景处理,它的工作正常。 这里是我的代码主线程处理问题
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];
}
}
一旦我初始化数据的基础上,我需要导航到容器view.During初始化我会显示一个进度条。这是工作正常,当整个后台进程完成(应用程序处于最小化状态)。在后台进程中,如果我来到前台,进度条不显示,那时黑屏显示而不是进度视图。主威胁容器视图完成后全部不显示[如果我来到主线程进程的前台]。
我需要显示进度条,当我回来的应用程序在主线程的中间过程。请指导我解决这个问题。
谢谢。
不要在后台线程的后台处理。主线程忙时,UI无法响应。 – trojanfoe
请给我一些示例代码。我需要显示我在上面的代码中返回的progressView。 – Ganapathy