gpt4 book ai didi

swift - didSelectRowAt 有两个表 Swift

转载 作者:行者123 更新时间:2023-11-28 06:15:32 25 4
gpt4 key购买 nike

我有下面的 didSelect 行函数代码,目标是让两个表根据触摸的表行做不同的事情。第一部分工作正常。如果 tableView 2 被触摸,则打印行有效并且该行被取消选择,但如果 tableView 3 被选中,则打印不会被调用。两个 tableView 在 vi​​ewController 中都有 outlet。

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

if tableView == self.tableView2 {

sorted = true

print ("TEST")

filteredDevices.removeAll()
filteredOS.removeAll()
filteredReported.removeAll()
filteredMac.removeAll()
filteredVersion.removeAll()



let facility = defaults.object(forKey: "facility") as! String



self.tableView.reloadData()

tableView2.deselectRow(at: tableView2.indexPathForSelectedRow!, animated: true)

}

if tableView == tableView3 {

sorted = true

print ("test")

filteredDevices.removeAll()
filteredOS.removeAll()
filteredReported.removeAll()
filteredMac.removeAll()
filteredVersion.removeAll()



self.tableView.reloadData()
print ("test")

tableView3.deselectRow(at: tableView3.indexPathForSelectedRow!, animated: true)
}



}

最佳答案

您可能忘记在 TableViewController 中为 tableView3 设置委托(delegate)。

tableView3.delegate = self

由于 tableView2 正在运行,因此您必须已经为 tableView2 设置了类似的行。只需为 tableView3 添加一个就可以了。

关于swift - didSelectRowAt 有两个表 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45245561/

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