我在一个部分中有给定数量的单元格。我的目标是只有最后一个选定的单元格显示复选标记。其他单元格不应该。
我在这个类似但较旧的线程中找到了一个函数。由于 Swift 3.0 的变化,我已经稍微修改了它(我敢打赌这就是问题所在)。
如下所述,对我来说,该功能无法正常工作。只有该部分中的最后一个单元格(不是最后选择的,而是部分中的最后一个)将获得复选标记。但我不知道为什么不。
这是完整的功能:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let section = indexPath.section
let numberOfRows = tableView.numberOfRows(inSection: section)
for row in 0..<numberOfRows {
if let cell = tableView.cellForRow(at: indexPath) {
cell.accessoryType = row == indexPath.row ? .checkmark : .none
}
}
}
通过打印出我可以看到的值,当下面的这个语句评估为真时,这是有道理的。但复选标记不会被切换。
cell.accessoryType = row == indexPath.row ? .checkmark : .none
谢谢!