如何从一个故事板导航到另一个TabBarController?

时间:2020-02-13 09:45:32

标签: ios swift uinavigationcontroller viewcontroller uistoryboardsegue

我正在尝试为我的应用程序创建一个入门页面,其视图如下:

Onboarding.storyboard

应该从此Onboarding故事板导航到ForYou故事板的Not Now按钮,该故事板具有嵌入在导航控制器和选项卡栏控制器中的故事板。

ForYou.storyboard

根据我的研究,我可以使用此行代码来实现它

let barViewControllers = UIStoryboardSegue.init(identifier: "ForYou", source: OnboardingMasterViewController(), destination: ForYouViewController()) as! UITabBarController
let nav = barViewControllers.viewControllers![0] as! UINavigationController
let destinationViewController = nav.topViewController as! ForYouViewController

它构建成功,但是当我在模拟器上运行它时,应用程序崩溃并显示我从未见过或学习过的这一行错误。错误是线程1:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)

Error Message

我试图看Google,但是我使用了错误的关键字或缺乏理解,我仍然无法解决此错误。希望你们中的一个能给我指导以找到解决方案。

谢谢。

1 个答案:

答案 0 :(得分:0)

我猜您已经为Segue赋予了标识符,我可以在Onboarding故事板到ForYou故事板上看到它。

如果没有,请在情节提要中单击该Segue并提供其标识符。

现在,在Not Now按钮的操作上,您可以执行以下操作来代替已有的代码

performSegue(withIdentifier: "your-segue-identifier", sender: nil)

您可以将故事板上的Segue从您的Not Now按钮直接连接到ForYou故事板上,这样就无需编写任何代码即可实现此目的。