I have a UITableView as a subview of my UIScrollVIew, which is the main view controlled by my MainViewController.
In MainView
A cell can be selected by the user (tapping on the row), by calling "tableView.selectRowAtIndexPath(..)" or "cell.setSelected(true, ...).
If the cell is selected by calling "cell.setSelected(true)", the user cannot deselect the cell anymore.
If the cell is selected by calling "tableView.selectRowAtIndexPath()", the user can deselect the cell as expected.