我想执行从表视图单元格到不同视图控制器的segue,而不是通过使用相同的控制器并更改其中的内容。如图所示,我有两个部分。
我是这样做的,但是没有成功。单击两个部分时,将显示同一页面:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.row == 0 {
performSegue(withIdentifier: "toSettings1", sender: nil)
}else if indexPath.row == 1 {
performSegue(withIdentifier: "toSettings2", sender: nil)
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "toSettings1" {
let vc = segue.destination as? ReferencesViewController
}else if segue.identifier == "toSettings2"{
let vc = segue.destination as? LiabilityViewController
}
}```
您有 2 个部分,每个部分 1 行,您应该如下编写:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.row == 0 && indexPath.section == 0 {
performSegue(withIdentifier: "toSettings1", sender: nil)
}else if indexPath.row == 0 && indexPath.section == 1 {
performSegue(withIdentifier: "toSettings2", sender: nil)
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "toSettings1" {
let vc = segue.destination as? ReferencesViewController
}else if segue.identifier == "toSettings2"{
let vc = segue.destination as? LiabilityViewController
}
}```