Swift - UITableview:如何在一个单元格上点击导致更改另一个单元格中的标签?

时间:2016-09-01 18:31:49

标签: ios swift uitableview

我有一个UITableView,我想在单元格X中点击以使单元格Y中的标签文本从"等待..."到"完成"。对于我应该如何解决这个问题,我感到非常困惑。我曾尝试使用didSelectRowAtIndexPath执行此操作,但似乎我只能修改所点击行的单元格的属性。

谢谢!

2 个答案:

答案 0 :(得分:3)

获取需要更改的单元格非常容易,但您必须知道表格的哪一行:

class MyCell : UITableViewCell {

    @IBOutlet weak var myLabel: UILabel!

}

class TableViewController: UITableViewController {

    ...

    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        let row = 7 //or what you set
        let cellWhereIsTheLabel = tableView.cellForRow(at: IndexPath(row: row, section: 0)) as! MyCell
        cellWhereIsTheLabel.myLabel.text = "Done"

    }

    ...

}

答案 1 :(得分:1)

解决方案是更新tableview的数据源。

当用户点击单元格时,会调用didSelectRowAtIndexPath。在此函数中,您可以更新数据源以激发其他单元格中的更改,然后调用reloadData以应用更改。

当您致电reloadData时,cellForRowAtIndexPath更新了tableView。此函数使用您的数据源来更新单元格。