 <p>Your code is somewhat confusing. Is MyTabBarController the class? It looks like mainTabVC is your instance. You should use that rather than the class, and you should change the type when you instantiate mainTabVC to MyTabBarController, instead of UITabBarController. You also don't need to get the storyboard the way you do, you can just use self.storyboard.</p> <pre><code> MyTabBarController *mainTabVC = [self.storyboard instantiateViewControllerWithIdentifier:@"mainTabVC"]; mainTabVC.managedObjectContext = self.managedObjectContext; [mainTabVC setModalPresentationStyle:UIModalPresentationFullScreen]; [self presentViewController:mainTabVC animated:NO completion:nil]; </code></pre>