以编程方式从 viewcontroller 切换到另一个
Switch programmatically from a viewcontroller to another
我正在尝试创建一个应用程序,它将以编程方式从一个视图控制器切换到另一个视图控制器。我已经尝试用这段代码做到这一点:
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "EndViwController") as! EndViewController
self.navigationController?.pushViewController(EndViewController, animated: true)
但它变成了这个错误:
[Cannot convert value of type 'EndViewController.Type' to expected
argument 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: terminating with uncaught exception of type
NSException (lldb)]
您的第一段代码不起作用,因为 EndViewController
是一种类型。您应该将其替换为上面声明的 secondViewController
。
第二段代码不起作用,因为您正在创建一个 'empty' EndViewController 类型并且没有实例化故事板视图。
我猜第三位代码失败了,因为你的故事板没有被称为 "EndViewController"(除非你重命名了它)。请尝试将其更改为 "Main"。
我正在尝试创建一个应用程序,它将以编程方式从一个视图控制器切换到另一个视图控制器。我已经尝试用这段代码做到这一点:
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "EndViwController") as! EndViewController
self.navigationController?.pushViewController(EndViewController, animated: true)
但它变成了这个错误:
[Cannot convert value of type 'EndViewController.Type' to expected argument 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: terminating with uncaught exception of type NSException (lldb)]
您的第一段代码不起作用,因为 EndViewController
是一种类型。您应该将其替换为上面声明的 secondViewController
。
第二段代码不起作用,因为您正在创建一个 'empty' EndViewController 类型并且没有实例化故事板视图。
我猜第三位代码失败了,因为你的故事板没有被称为 "EndViewController"(除非你重命名了它)。请尝试将其更改为 "Main"。