On the whole, a view controller is created exactly like any other object. A view controller instance comes into existence because you instantiate a view controller class, either in code or by loading a nib / xib / storyboard. Beginners are taught to make Apps with Storyboard and that is great. Storyboards and Segues are an amazing addition to Interface Builder now all rolled into Xcode.
When working on a client with another developer there were times when we would have merge conflicts due to just even peeking at the Storyboard (which serves as a good reference and documentation for the project). Almost every check-in we had to double check and redo some small change and we were checking in often. There were only two of us so as the team grows these merge conflicts I can only imagine would grow. For the reason of multi-developer environments there are firms who do away with not just Storyboards but Nibs / Xibs in their entirety. I thought I’d create an App with a TableViewController that has no NIB as a reference for those who have never seen how this is done. This code is in Github. Continue reading