Search code examples
objective-cios6xcode4.6

How to get existing instance of UITabBarController?


I have an iPad app (XCode 4.6, ios 6.2, ARC and Storyboards). I need to get existing instance of the UITabBarController. This is my code, but it's obviously wrong. How do I correct it?

    UITabBarController *tabBarController = [self.storyboard instantiateViewControllerWithIdentifier:@"tabBarController"];
[tabBarController setSelectedIndex:0];

Solution

  • You are instantiating a new UITabBarController instance as the method name suggests.

    If you are in the context of a UIViewController within the UITabBarController, just use

    self.tabBarController
    

    If the context is not in UITabBarController, self.tabBarController return nil.