UITableViewController - это просто UIViewController с экземпляром UITableView и viewController, установленным в качестве делегата и источника данных для таблицы. ViewController реализует заглушки для этих методов делегата.
Вы можете сделать это самостоятельно с помощью UIViewController, реализующего протоколы UITableViewDataSource и UITableViewDelegate. Затем в методе loadView (или viewDidLoad) UIViewController установите dataSource экземпляра tableView и делегируйте его себе.
Здесь вы можете использовать свой собственный подкласс таблицы.