我有一个UITableView,我想在单元格X中点击以使单元格Y中的标签文本从"等待..."到"完成"。对于我应该如何解决这个问题,我感到非常困惑。我曾尝试使用didSelectRowAtIndexPath
执行此操作,但似乎我只能修改所点击行的单元格的属性。
谢谢!
答案 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。此函数使用您的数据源来更新单元格。