我有一个UITableView
,我想和另一个viewcontroller
进行连接,我需要行号,以便可以从数组中选择一个字符串,以便可以在下一个视图控制器,我现在有这段代码。
let tableFrontView = segue.destination as! FCTableFrontViewController
tableFrontView.frontText = path[FlashCardsTableViewCell.init().tag].flashCardFront
FlashCardsTableViewCell.init().tag
当前正在返回一个int以用于测试目的,尽管我想知道可以用什么替换它来获取用户选择的行号。
谢谢
答案 0 :(得分:0)
使用TableView的委托方法:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// indetify cell using indexPath.row attribute
}
答案 1 :(得分:0)
您可以尝试这样:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let tableFrontView = segue.destination as! FCTableFrontViewController
let selectedIndexPath = tblView.indexPathForSelectedRow
let selectedRow = (selectedIndexPath?.row)!
print(selectedRow)
}
答案 2 :(得分:0)
我假设您正在编写sub()
中显示的代码段?
如果是这种情况,请转到执行segue的位置,这很可能在prepare(for:)
委托方法中。如果没有这样的方法,则应该实现它。
didSelectedRowAtIndexPath
现在替换您作为func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "showTableFrontVC", sender: nil)
}
传递的内容,并替换为sender
。
indexPath.row
现在在performSegue(withIdentifier: "showTableFrontVC", sender: indexPath.row)
中,您可以将发件人作为prepare(for:)
进行包装:
Int