2017-06-17 32 views
0

我想要在單擊表格行時轉到幾個視圖控制器。 所以我做了如下代碼。Swift:我想導航到幾個視圖控制器

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
{ 

     var targetId = "" 
     var targetController: UITableViewController! 

     switch indexPath.row { 
     case 2: 
      targetId = "TableView1" 
      targetController = TableViewController1() 
     case 2: 
      targetId = "TableView2" 
      targetController = TableViewController2() 
     case 2: 
      targetId = "TableView3" 
      targetController = TableViewController3() 
     default: 
      return 
     } 

     let detailView = self.storyboard?.instantiateViewController(withIdentifier: targetId) as! targetController 
     self.navigationController?.pushViewController(detailView, animated: true) 

} 

但我可以看到錯誤消息「使用未聲明的類型'targetController'」。 如何導航到多個視圖控制器?

+0

沒有類型轉換因爲targetController是對象不是階級 – Hosny

回答

0

您不能將對象轉換爲變量(實例)。

但是,如果所有的控制器是UIViewController子類,你需要在所有

let detailView = self.storyboard?.instantiateViewController(withIdentifier: targetId) 
self.navigationController?.pushViewController(detailView, animated: true) 
相關問題