2017-02-13 105 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) 
} 
相關問題