У меня были похожие проблемы с UITableViewController и Storyboard. Когда вы помещаете UITableViewController в раскадровку, свойство tableView для UITableViewController устанавливается на экземпляр UITableView, а делегат и dataSource возвращаются на UITableViewController. Добавление дополнительных представлений, по-видимому, нарушает соединение свойства tableView.
Моим первым решением было установить свойство tableView в awakeFromNib или viewDidLoad (по какой-то причине вы не можете установить это в раскадровке). Теперь я никогда не добавляю дополнительные настраиваемые представления в контроллеры табличного представления, а использую верхние колонтитулы, нижние колонтитулы, разделы или настраиваемые ячейки для добавления содержимого в контроллеры табличного представления.