你可以有两个从不同的视图控制器Segising到一个视图控制器Swift 3

问题描述:

我目前正在尝试发送myslideMenuVC到我的ProfileVC点击一个单元格。我将用Storyboard标识符来实例化ProfileVC,但我已经从我的LoginVC中获得了此视图控制器的segue。你是否大声在一个视图控制器上有2个segues?如果是的话,为什么不这样做segue工作,因为我收到此错误:终止与类型NSException的未捕获的异常,由于未捕获异常'NSInvalidArgumentException'终止应用程序,原因:'Storyboard()不包含带标识符的视图控制器'profileFromSlideMenu''你可以有两个从不同的视图控制器Segising到一个视图控制器Swift 3

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
     //self.selectedPost(index: 0) 
     if indexPath.row == 0 { 
      if let myProfileVC = self.storyboard!.instantiateViewController(withIdentifier: "profileFromSlideMenu") as? Profile { 
      self.present(myProfileVC, animated: true, completion: nil) 
      } 
     } 
     if indexPath.row == 1 { 
      handleLogout(Any.self) 

     } 
    } 
+2

是的,你被允许这样做。问题在于你没有为该特定视图控制器设置标识符,或者在代码中的标识符中存在拼写错误。 –

+0

视图控制器有一个不同的ID,我完全忘了改变!感谢您的领导! –

是的,你都不允许有几个塞格斯从去。不同的视图控制器到单个视图控制器。

问题是您没有为该特定的视图控制器设置标识符,或者您的代码中的标识符中存在拼写错误。

单击视图控制器,确保StoryboardID与您的代码中的一样。

“profileFromSlideMenu”是您vc的Storyboard ID还是segue标识符? 故事板.instantiateViewController(withIdentifier!...需要一个故事板ID You can set it like this:

是的,你可以有多个塞格斯到VC

当你确信你的故事板标识是否正确,尽量所以使用。 :

UIStoryboard(name: "YOUR STORYBOARD NAME (MAIN?)", bundle: nil) 

,而不是self.storyboard 希望这有助于