The model system is specifically designed to implement `UITableView` UX correctly. Navigation actions should not deselect the row because this is supposed to happen when the navigation controller pops back to the table view controller, at which point it deselects the row with an animation. This intentionally gives the user a visual cue as to which cell they're coming back from.

If you needed to implement this because your table view controller wasn't deselecting when it reappeared then there is likely a separate bug elsewhere. UITableViewController's `viewWillAppear:` deselects any selected cell in its default implementation. A common problem is implementing `viewWillAppear:` in a subclass but forgetting to call `super`.