Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
A snippet for extending a UITableViewController subclass, allowing the selection feature for ONLY one row through the Checkmark accssory.
// 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
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment