-didSelectRowAtIndexPath: not being called
Solution 1:
Just in case someone made the same stupid mistake as I did:
Check out if the method name of what you expect of being didSelect
may accidentally be gotten didDeselect
in some way. It took about two hours for me to find out ...
Solution 2:
Another thing that might lead to the issue is not selected selection kind:
Should be Single Selection
for normal selection, should not be No Selection
.
To do this programmatically, do:
tableView.allowsSelection = YES
Solution 3:
Another possibility is that a UITapGestureRecognizer could be eating the events, as was the case here: https://stackoverflow.com/a/9248827/214070
I didn't suspect this cause, because the table cells would still highlight blue as if the taps were getting through.