You must have only one view controller to control the scene. However, this viewController may have two other view controllers that control specific subzones in your scene. To do this, you create properties in your scene viewController, in your case, one for your TableViewController and one for your view. I like to keep things together, so I do both of these points of view and create them in the interface builder. To create them in the interface builder, pull an object from the object library and set its type to the corresponding viewController. Plug it into the appropriate outlet you just created in your viewController mode - Note: this is important, otherwise viewController will be released if you use ARC and crash your application. Then move these viewControllers to the view you want them to be monitored, and you're done.
Alternatively, you can instantiate and skip your viewControllers in your viewController mode if you prefer to do this.
Hope this helps.
Edit: when reflecting, this is not a good idea and actually goes against HIG, you should support only one ViewController for each content screen and instead try to create a suitable presentation class and have a single view controller with interaction between different views.
Scott Sherwood Nov 14 2018-11-11T00: 00-11
source share