gpt4 book ai didi

ios - Swift 3 : Why cant I change cell. didDeselectRowAt 中的 accessoryType 和 cell.textLabel

转载 作者:搜寻专家 更新时间:2023-11-01 05:56:33 25 4
gpt4 key购买 nike

我不明白为什么我不能切换选定的表格行。我在 didSelectRowAt 中成功设置了 accessoryType。但是我似乎无法在 didDeselectRowAt 中将 accessoryType 设置为 none。

enter image description here

我的数据:

serviceItems = ["Heater", "Air Conditioner", "Boiler", "Heat Pump"]

这是我的 TableView 覆盖:

 override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
cell.accessoryType = .checkmark
let serviceItem = serviceItems[indexPath.row] as! String
cell.textLabel?.text = serviceItem
}

// does not remove checkmark
// does not change textLabel to "test"
// DOES print "DESELECTING" (so I know its getting called)
override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
cell.accessoryType = .none
cell.textLabel?.text = "test"
print("DESELECTING")
}

最佳答案

应该一直使用 tableView.cellForRow 而不是 tableView.dequeueReusableCell

更改:

let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)

收件人:

let cell = tableView.cellForRow(at: indexPath)

关于ios - Swift 3 : Why cant I change cell. didDeselectRowAt 中的 accessoryType 和 cell.textLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40899103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com