I have a big app with lots of screens, all arranged in a hierarchy, with a UITabBarController at the top, UINavigationControllers below that, and then UIView Controllers below those, maybe with a modal controller somewhere thrown in for good measure.
The user is allowed to pick a start screen from a list. Once selected, next time the app is started it will start from the specified screen and all the navigation will work as if they had navigated there themselves.
Since I can't subclass UITabBarController and UINavigationController, I can't add any ivars to set any initial navigation information.
So what is the best way get the hierarchy set up and the screen of the correct view controller showing under these conditions, and do it quickly?