UITableViewController inherits from UIViewController. My own class TableViewController inherits from UIViewController. So, a table view controller is a special kind of view controller. Specifically, it is a view controller designed to manage tables. Table view controllers contain table views. UITableView inherits from UIView. A table view is a special kind of view. Specifially, it's a view with a table in it. So, what I did is deleted the default view controller from my storyboard and added a table view controller. Then added a table view to the table view controller and made an IBOutlet variable in my code to connect to that table view. Tables are divided in sections. Sections are divided into rows. The TableViewController comes with extra methods for which you can add code to determine how to manipulate the number of sections and rows. You do not have discretion to name these methods anything you want. THEY name the method. YOU write the code. The UITableViewController contains a whole bunch of methods that don't do anything. TableViewController (which you or I write) inherits from UITableViewController and so can override these do-nothing methods with methods that actually pertain to your table. Creating a second view controller in the storyboard is a slight pain in the neck because the whole control drag thing that you do for everything else in the StoryBoard doesn't work for other view controllers.