我是swift的初学者。我正在尝试创建一个选项卡式应用程序。对于我的一个标签,我正在创建一个包含多个行的表视图,每个行都有不同的任务(想想这个的好方法是facebook应用程序,其中更多屏幕中的每个选项都会将您带到一个单独的视图)
现在,我的表中填充了一个数组:
let array = ["one", "two", "three]
我想问一下,每当我点击其中一行时,我想去一个新的视图控制器。这怎么可能?
我尝试的是performSegue
我在故事板中提供的identifier
,但是会有x
个连接到表格视图的段数?所以我不认为这是对的? :/
在生成表之前我知道数组的内容,所以如果我知道数组值和被点击的行,我该如何导航到新的视图控制器?
修改
当在控制器之间执行segue时,我正在使用:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
self.performSegue(withIdentifier: "showView", sender: self)
}
这当然只会连接到segue showView
但是,如何添加多个视图控制器?
答案 0 :(得分:7)
您需要简单地比较tableView
中选择的行,然后根据它执行segue。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let segueIdentifier: String
switch indexPath.row {
case 0: //For "one"
segueIdentifier = "showView1"
case 1: //For "two"
segueIdentifier = "showView2"
default: //For "three"
segueIdentifier = "showView3"
}
self.performSegue(withIdentifier: segueIdentifier, sender: self)
}
答案 1 :(得分:1)
将以下功能添加到控制器。
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
navigationController?.pushViewController(NewController(), animated: true)
}
答案 2 :(得分:1)