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

时间:2017-07-28 15:48:46

标签: swift uiviewcontroller storyboard

我正在尝试在点击一个单元格时将myslideMenuVC发送到我的ProfileVC。我将使用故事板标识符来实例化ProfileVC,但我已经从我的LoginVC中获得了这个视图控制器的segue。你是否大声在一个视图控制器上有2个segue?如果是的话,为什么这个segue不会工作,因为我收到了这个错误:终止了NSException类型的未捕获异常,由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' Storyboard()没有& #39; t包含一个带有标识符' profileFromSlideMenu''

的视图控制器
 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)

        }
    }

3 个答案:

答案 0 :(得分:1)

单击View Controller,确保StoryboardID与代码中的相同。

答案 1 :(得分:1)

" profileFromSlideMenu"您的vc的故事板ID或segue标识符? storyboard!.instantiateViewController(withIdentifier:...需要一个storyboard id。 You can set it like this:

是的,你可以有多个segc到vc。

当您确定故事板标识符正确时,请尝试使用:

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

而不是self.storyboard。 希望这会有所帮助。

答案 2 :(得分:1)

是的,您可以将多个segue从不同的View控制器转到单个View控制器。

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