Это хороший вопрос, с которым всегда сталкивается большинство разработчиков, незнакомых с Cocoa.Вам нужно подумать об архитектуре вашего приложения, чтобы увидеть, что будет наиболее подходящим для ваших требований, но в большинстве случаев вы захотите, чтобы TabBarController был основным / корневым контроллером, обслуживающим другие представления, а затем оттуда настройте представления tabItem.в зависимости от того, какие данные вам нужно отображать.
В вашем конкретном случае, когда вы создаете новый элемент вкладки, вместо того, чтобы обслуживать UIViewController для этого представления tabItem, вы хотите использовать контроллер навигации.Затем под контроллером навигации вы сможете назначить его корневой контроллер представления, который должен быть экземпляром UITableViewController (или UIViewController с экземпляром UITableView, если вам требуется больше, чем UITableView в вашем представлении).
Таким образом, иерархия выглядит примерно так
1 - TabBarController
1.1 ----- NavigationController
1.1.1 -------UITableViewController
1.1.1 ------- Другие представления в вашем стеке контроллеров
1.2 ----- Любые другие представления на вкладке BarController
А вот хороший видеоурок, который поможет вам в этом: http://www.youtube.com/watch?v=LBnPfAtswgw
Удачи, Рог