似乎无法通过UIButton切换到另一个故事板

时间:2017-10-08 15:54:45

标签: ios11 xcode9 swift4

当我尝试在XCode 9上使用Swift 4从一个视图切换到另一个视图时,它给了我这个错误。

  

libc ++ abi.dylib:以未捕获的类型异常终止   NSException

我正在使用按钮从Main切换到LandingViewMain是默认视图(main.storyboard),而LandingViewmain.storyboard中的另一个视图控制器。

这是我用来实现此功能的代码。

let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "LandingView")
self.present(newViewController, animated: true, completion: nil)

[Above]所有包含在我想要使用的按钮的IBAction中。

为了澄清一下,LandingView是我用来从默认视图切换到LandingView的故事板ID。请注意,这些都包含在Main.storyboard下。

1 个答案:

答案 0 :(得分:0)

您尚未指定newViewController的类型。

试试这个:

    let storyBoard: UIStoryBoard = UIStoryBoard(name: "Main", bundle: nil)
    let newViewController = storyboard.instantiateViewController(withIdentifier: "LandingView") as! younewViewControllerType
    self.present(newViewController, animated: true, completion: nil)

要确定您已声明LandingView ViewController子类的内容,可以在“接口”构建器中引用Identity Inspector,如下图所示:

enter image description here

在Custom Class下,Class属性定义您的自定义子类。声明newViewController时,必须将其声明为该类型。