2017-06-17 29 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) 
相关问题