注销按钮显示登录视图控制器-Swift 5
嗨,我对斯威夫特有点陌生,我搞不懂这个。我试图创建一个注销按钮,将用户带到登录页面。我使用了以下两种方法,但第一种方法不起任何作用,第二种方法抛出注销按钮显示登录视图控制器-Swift 5,swift,delegates,Swift,Delegates,嗨,我对斯威夫特有点陌生,我搞不懂这个。我试图创建一个注销按钮,将用户带到登录页面。我使用了以下两种方法,但第一种方法不起任何作用,第二种方法抛出致命错误:在隐式展开可选值时意外发现nil,它使用自定义按钮引用代码: //this one doesn't do anything @objc func SignOut(){ let vc = self.storyboard?.instantiateViewController(identifier: "LoginViewControll
致命错误:在隐式展开可选值时意外发现nil,它使用自定义按钮引用代码:
//this one doesn't do anything
@objc func SignOut(){
let vc = self.storyboard?.instantiateViewController(identifier: "LoginViewController") as! LoginViewController
let appDelegate = UIApplication.shared.delegate
appDelegate?.window??.rootViewController = vc
}
//this one is throwing an error
let vc = CustomViewController()
self.present(vc, animated: true, completion: nil)
//the Fatal error refers to this code
override func viewDidLoad() {
super.viewDidLoad()
self.customButton.addTarget(self, action: #selector(customButtonPressed), for: .touchUpInside)
}
另外,我想知道AppDelegate是正确的方法还是应该使用SceneDelegate。任何帮助都将不胜感激 试着这样做
@objc func SignOut(){
let vc = self.storyboard?.instantiateViewController(identifier: "LoginViewController") as! LoginViewController
self.view.window?.rootViewController = vc
}
试着这样做
@objc func SignOut(){
let vc = self.storyboard?.instantiateViewController(identifier: "LoginViewController") as! LoginViewController
self.view.window?.rootViewController = vc
}
请确保标识符与此viewController
请确保标识符与此viewController
的故事板内部的标识符匹配。在第一种情况下,我认为您的窗口为零。。这就是为什么它不起作用的原因在第一种情况下,我想你的窗户是空的。。这就是为什么它不起作用的原因!非常感谢你!很好!非常感谢你!