Swift:UITableView单元受另一部分单元格的影响

时间:2015-10-19 05:45:23

标签: swift uitableview cells didselectrowatindexpath sections

我有一个功能可以将第0节中的accessoryType个单元格更改为复选标记。效果很好并在选中时显示复选标记,但如果选择了第1部分第2部分中的单元格,则会在部分0上移动复选标记< / strong>即可。如果有人能告诉我如何解决这个问题,那就太好了。

    //Adds Checkmark to Cells when Selected
    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        let section = 0
        let numberOfRows = tableView.numberOfRowsInSection(section)
        for row in 0..<numberOfRows {
            if let cell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: row, inSection: section)) {
                cell.accessoryType = row == indexPath.row ? .Checkmark : .None
            }
        }
    }

1 个答案:

答案 0 :(得分:2)

由于您的单元格被重用,如果您在创建单元格时没有设置单元格的设置,则会发生这种情况。

您需要在accessoryType功能覆盖中重新设置您的单元格的cellForRowAtIndexPath