My first view displays an image and action indicator while web-servers and database function are run in that background. I want the application to go to my tab view when the functions have been completed. How do I do this?
Here is what the views look like.

What I have tried:
TabBarViewController *tab = [[TabBarViewController alloc]init];
[self presentViewController:tab animated:NO completion:nil];
and
[self performSegueWithIdentifier:@"first" sender:self];
Please can you help my to understand how to do this. I have spent many hours googling this problem and couldn’t work out how to do it.
Thanks
EDIT: Added Code
You can use GCD to make this happen.
For instance in your
firstViewControllerwhere you trigger downloading you can do:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{[model downloadData];
dispatch_sync(dispatch_get_main_queue(), ^{
[self performSegueWithIdentifier:@"YourSegueIdentifier" sender:self];
});
});
I assume your
downloadDatamethod is synchronous, if not you can use notifications in your model. Once data is retrieved you couldpostNamedNotificationfromNSNotificationCenterand infirstViewControlleryou could register for notification and after receiving it you would callperformSegueWithIdentifier