我有一个登录界面,上面有电子邮件和密码.我正在使用firebase Auth.
登录屏幕嵌入在导航控制器中.从登录屏幕转到UserDetailsController.导航控制器附带的导航栏中有一个“后退”导航项.我实际上无法将其拖成一个出口.
我想知道是否有一个简单的方法来点击“后退”并且用户返回到登录页面以注销用户.使用firebase Auth,注销代码相对简单.我遇到的问题是在LoginController中工作,如果我从UserDetailsController返回到这里.
我已经阅读了关于使用self.presentingcontroller来确定我从哪个控制器回来但是我一直都没有.我不确定这是否是确定从哪个控制器导航回来的最佳/唯一选择.
谢谢.
解决方法
看起来非常简单.希望这段代码会有所帮助.
override func viewDidLoad() { super.viewDidLoad() setuplogout() }
fileprivate func setuplogout() { navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back",style: .plain,target: self,action: #selector(handlelogout)) } @objc func handlelogout() { do { try Auth.auth().signOut() // Present the login controller let loginController = LoginController() let navController = UINavigationController(rootViewController: loginController) self.present(navController,animated: true,completion: nil) } catch let signOutErr { print("Failed to sign out:",signOutErr) } }