无法在另一个选择后取消选择表视图中以前以编程方式选择的行

Cannot deselect previous programmatically selected row in tableview after another selection

我在 cellForRowAt 和 exact 中都使用了初始化 table查看此代码的同一函数:

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

和我的 table 视图自动获得了 selectedOption 的复选标记,但是当我 select 另一个选项时,我之前设置的复选标记没有消失,之后有 2 table 上的复选标记,将 allowsMultipleSelection 设置为 false。为什么会发生这种情况以及为什么我的第一个复选标记在 selection 之后没有隐藏?

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

我想如果你重新加载你的 table 视图它会工作,你的代码没问题,只需在 didselect 中重新加载你的 table,

谢谢