Нет необходимости наследовать CatalogController, если единственное, что вам нужно, это tableView внутри tabBarController, то даже вообще не нужно использовать three20. Для начала я бы порекомендовал вам использовать более простой подход. Хотя Three20 и TTTableViewController могут сильно помочь с определенными настройками, это не самый лучший способ сделать что-либо.
Пусть ваш FirstViewController наследуется от UITableViewController, реализуйте методы UITableViewDataSource. Если вы испытываете проблему или нуждаетесь в специфической проблеме , не стесняйтесь спрашивать здесь.
Если у вас это работает, и вам действительно нужно что-то, что может помочь вам три20, прочитайте источники TTTableViewController, TTModel, TTTableViewDataSource, найдите учебник и продолжайте.
Может быть, этот вопрос может помочь вам: Пример навигации на основе URL-адресов Three20 + панель вкладок? особенно эта ссылка: http://three20.pypt.lt/url-based-navigation-and-state-persistence