gpt4 book ai didi

swift - 如何使用 Swift 知道在 tableView 中点击了哪个单元格

转载 作者:行者123 更新时间:2023-11-28 12:15:55 24 4
gpt4 key购买 nike

我正在使用 tableView 来显示姓名列表。当用户点击其中一个单元格时,应该会弹出一个显示更多详细信息的窗口。我正在使用此功能来检查用户点击了哪个单元格。

var selectedCell: Int?

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("This cell from the chat list was selected: \(indexPath.row)")
selectedCell = indexPath.row
}

不幸的是,它似乎返回 0 到 2 之间的随机数(我目前显示了三个单元格)。

你知道我怎么知道哪个单元格被窃听了吗?

提前谢谢你。

编辑:

我明白是什么导致了我的结果错误。

我正在使用此函数将选定的单元格推送到另一个 View Controller (名为 ConversationViewcontroller)。但是,segue 函数在 tableView 函数之前被调用,因此 segue 会推送先前选择的单元格。我该如何纠正这个问题?

这是我的转场代码:

//SEGUE: Cell was selected: pass chatID
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "OpenChat" {
if let toViewController = segue.destination as? ConversationViewController {
toViewController.chatIdentifier = selectedCell
}
}
}

再次感谢。

最佳答案

试试这个

var selectedCell: IndexPath

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("This cell from the chat list was selected: \(indexPath.row)")
selectedCell = indexPath
}

如果你想使用IndexPath

self.selectedCell?.row

关于swift - 如何使用 Swift 知道在 tableView 中点击了哪个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46622859/

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