它的一个强制项。问题是默认情况下,复选标记符号下移到11步。因此,如果列表中有9个项,则可以看到列表中的9个项不会发生这种情况。但是如果你在一个列表中有30个项目,你会看到3个复选标记,但是应该是我有choice?.isSelect == true

if  choice?.isSelect == true {
  //this code execute one time
  print("===========Checkmark=================")

  cell.accessoryType = .checkmark

}

有一点要指出:tableview的重用私有单元格,所以如果单元格已经检查过,那么第11个单元格将自动检查。我该怎么解决?

最佳答案

可能是由于重新可用性,先前添加的复选标记仍保留在单元格上。像这样试试:

if  choice?.isSelect == true {
  //this code execute one time
  print("===========Checkmark=================")

  cell.accessoryType = .checkmark

}
else
{
  cell.accessoryType = .none
}

10-05 18:31