I have a UITableView as a subview of my UIScrollVIew, which is the main view controlled by my MainViewController.
In MainView
I have found the answer. I had a UITapGestureRecognizer set for myTableView's superView. This overrode the selection call. Credit to whoever suggested that that might be it. Your answer was deleted before I could mark it correct.
Set the cancelsTouchesInView property to NO on the gesture recogniser to allow the table view to intercept the event.