didDeselectRowAt으로 선택해제된 셀 아이템의 on값을 false로 주고 accessoryType을 none으로 주는 코드까진 했는데 이게 처음 checkmark가 되어 있는 첫번째 로우를 클릭하거나 두개의 셀을 한번씩 다 누르고 나서야 토글이 됩니다

extension MultiSectionTableViewViewController: UITableViewDelegate {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.section == 3 && indexPath.row == 0 {
showActionSheet()

tableView.deselectRow(at: indexPath, animated:true)
}

if indexPath.section == 4 {
if let cell = tableView.cellForRow(at: indexPath) {
list[indexPath.section].items[indexPath.row].on =true
cell.accessoryType = .checkmark
}
}
}

func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
if indexPath.section == 4 {
if let cell = tableView.cellForRow(at: indexPath) {
list[indexPath.section].items[indexPath.row].on =false
cell.accessoryType = .none
}
}
}
}