Ios 复选标记符号Tableview自动生成

Ios 复选标记符号Tableview自动生成,ios,swift,uitableview,swift3,Ios,Swift,Uitableview,Swift3,问题是,默认情况下,复选标记向下移动到11步。所以,如果列表中有9个项目,则列表中的9个项目不会发生这种情况。但如果列表中有30个项目,您将看到3个复选标记。但它应该是我选择的项目。isSelect==true if choice?.isSelect == true { //this code execute one time print("===========Checkmark=================") cell.accessoryTy

问题是,默认情况下,复选标记向下移动到11步。所以,如果列表中有9个项目,则列表中的9个项目不会发生这种情况。但如果列表中有30个项目,您将看到3个复选标记。但它应该是我选择的项目。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
}

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

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

  cell.accessoryType = .checkmark

}
else
{
  cell.accessoryType = .none
}

把其他条件放进去

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

     cell.accessoryType = .checkmark

  }else{
     cell.accessoryType = .none
    }

把其他条件放进去

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

     cell.accessoryType = .checkmark

  }else{
     cell.accessoryType = .none
    }

两人同时回答@nazmul两人同时回答@nazmul我的大脑不工作。。这就是我没有解决这个问题的原因。谢谢
isSelect
是一个布尔值,所以你可以做
if-choice?.isSelect{/code>(不需要
==true
)这在语义上更好,读起来像英语::)我的大脑不工作..这就是我没有解决这个问题的原因。谢谢
isSelect
是一个布尔值,所以你可以做
if-choice?.isSelect{/code>(不需要
==true
)这在语义上更好,读起来像英语一样: