我正在尝试创建一个应用程序,该应用程序将以编程方式从视图控制器切换到另一个视图控制器。我已经尝试使用此代码执行此操作:
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "EndViwController") as! EndViewController
self.navigationController?.pushViewController(EndViewController, animated: true)
但它让我看到了这个错误:
[无法将类型为"EndViewController.Type"的值转换为预期值 参数类型'UIViewController']
另外,当我尝试其他代码时:
let timeLineTableVC = EndViewController()
self.present(timeLineTableVC, animated: true, completion: nil)
它在模拟器上给我一个黑屏,并且EndViewController没有出现。
最后,当我尝试这个时:
let storyboard = UIStoryboard(name: "EndViewController", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "EndViewController")
self.present(controller, animated: true, completion: nil)
它给了我这个错误:
[libc++abi.dylib:以未捕获的类型异常终止 NSException (lldb(]
你的第一段代码不起作用,因为EndViewController
是一种类型。您应该将其替换为上面声明的secondViewController
。
第二段代码不起作用,因为您正在创建一个"空"的 EndViewController 类型,而不是实例化情节提要视图。
我猜第三位代码失败了,因为你的故事板没有被称为"EndViewController"(除非你重命名了它(。尝试将其更改为"主要"。