在另一个选择之后,无法在tableview中取消选择以前以编程方式选择的行

时间:2017-04-06 12:56:01

标签: swift3 tableview row programmatically deselect

我在cellForRowAt中使用了两个并且在同一个函数中使用了初始化tableview的代码:

cell.accessoryType = selectedOption == indexPath.row ? .checkmark : .none

并且我的tableview自动为selectedOption设置了checkmark,但是当我选择另一个选项时,我之前设置的复选标记不会消失,之后表上有2个复选标记,其中setsMultipleSelection为false。为什么会发生这种情况以及为什么我的第一个复选标记在我选择后无法隐藏?

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
     if let cell = tableView.cellForRow(at: indexPath) {
                cell.accessoryType = .checkmark
     }
}

1 个答案:

答案 0 :(得分:1)

我认为如果你重新加载你的tableview它会工作,你的代码很好,只需在didselect中重新加载你的表,

由于