Select a table view cell programmatically: selectRowAtIndexPath vs setSelected
I believe the method you want to use is selectRowAtIndexPath:animated:scrollPosition:
. Usually, you should leave management of cell state to the table view. In case of selection, it stores and maintains a set of selected index paths, so the proper row will remain selected after a different cell is reused for it. There's also no need to call both methods, it is simply redundant.