I am answering my own question in this post.
Requirement: I want to have a tab view controller as the top parent. This will have 5 tabs. In the first tab, I want to have a segment control at the top which I want to switch the views within this first tab with information based off of which segment index is selected.
Reading a few suggestions online were to-
Either use containment view controllers where the first tab holds strong references to the child view controllers and switches them based off of which index is selected in the segment control. Problem with this is that each of the view controller will be eating up memory as we are keeping them in strong reference.
Second idea I read online was to put everything on a single view controller in the first tab - based on which index segment control is selected, just hide everything else. Problem with this was super messy code with too much stuff on the same view controller plus storyboard would get messy with things on top of each other.