Honey, where’s my dSYM?
Ever wondered how Xcode can symbolicate crash reports without you telling it the appropriate dSYM file? Xcode uses Spotlight to find the dSYMs on your system by adding a special attribute to the dSYMs Spotlight metadata. So with this CLI command you can find out where Xcode is (and isn’t) looking for the dSYM files:
$ mdfind 'com_apple_xcode_dsym_uuids = *'

I’ve done this a few times, too but since came to the conclusion that it’s not a good idea to fiddle with UITableViewController. The alternative really is to use
UIViewController
and add a property
@property (weak, nonatomic) UITableView * tableView;
Then you build loadView like you did and assign the container view to self.view and the table view to self.tableView and all of a sudden you have all flexibility to put your table view wherever you like.
That way you are safe against implementation details in the UITableViewController which really assumes it owns the whole space of a container view and sometimes resizes the TableView. It’s especially an issue if you want to throw the whole thing into a NavigationController or if you have views to the left and right of the TableView. Except for that it’s really the same thing, everything you want to do to a TableViewController will work with this fake one, too.