I have a base ViewController with embedded NavigationController to provide a ToolBar. The ToolBar has three buttons used to call ViewControllers by segue to present the data.

Showing and dismissing each data ViewController bit by bit is no problem but I would like to switch between all three data presenting ViewControllers but without dismissing and reopening ViewControllers multiple times.
- how do I keep the ViewController 1 - 3 open when switching between VC1 - 3?
- How do I know if a data presenting ViewController (VC1 - 3) is already open?
- How do I dismiss all open ViewControllers (VC1 - 3) when VC1, VC2 or VC3 is dismissed to go back to the base ViewController?
The base ViewController is part of a TabBarController. So, I don't want to create another one for VC1 - 3. My target is to use buttons to switch between VC1, 2 and 3 but I don't know how to start. I tried to find opened ViewController using:
ViewController1 *presenter = [(UITabBarController *)self.presentingViewController viewControllers][0];
But it just tells me that the NavigationController is the presenting ViewController. But there is no way to asks for ViewControllers opened by the NavigationController. Any ideas?
Thanks!