This consists of subclasses of UITableViewCell and UITableViewController that will help you group the definition of the cells and what to do when they are selected. With the classes, you will only need to implement tableView:cellForRowAtIndexPath: and no longer need to implement tableView:didSelectRowAtIndexPath: