// A snippet for extending a UITableViewController class, // allowing the selection of only one row through the Checkmark accssory. // If you using a stand alone UITableView, then implement these methods in your delegate object. // For checking which row is selected, check the indexPathForSelectedRow property of the tableView. // This code is implemented in the latest version of Swift, which is Swift 3, as of today... extension <#Your UITableViewController class#> { override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { if let sip = selectedIndex { tableView.deselectRow(at: sip, animated: false) } selectedIndex = indexPath } override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) { if selectedIndex?.row == indexPath.row { selectedIndex = nil } } }