2017-02-13 77 views
1

我是初学者编码器在swift中。我正在尝试创建一个选项卡式应用程序。对于我的其中一个选项卡,我创建了一个具有多个行的表视图,每个行都有不同的任务(想想这个的好方法是Facebook应用程序,其中更多屏幕中的每个选项都会将您带到单独的视图中)现在导航到表视图中的每个单元格的新视图控制器

,我的表中填充数组:

let array = ["one", "two", "three] 

我想问一下,我对这些行之一轻按每次,我想去一个新的视图控制器。这怎么可能?

我试过的是performSegueidentifier我给故事板,但然后会有x连接到表视图的segues的数量?所以我不认为这是正确的? :/

我知道在生成表之前数组的内容,所以如果我知道数组的值,并且正在挖掘的行,我该如何导航到新的视图控制器?

编辑:

在进行控制器之间的SEGUE,我使用:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    self.performSegue(withIdentifier: "showView", sender: self) 
} 

这当然只能连接到SEGUE showView但是,我怎么能添加多个视图控制器?

回答

3

您需要简单地比较中的哪一行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) 
} 
+0

完美!来自PHP背景我应该想到这一切!但是,不知道语法会让我感到困惑。谢谢加载! – Nouman

+0

@Nouman欢迎伴侣:) –

0

将以下功能添加到您的控制器。

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    navigationController?.pushViewController(NewController(), animated: true) 
} 
相关问题