登录和注销身份验证按钮可在主视图控制器上从“登录”更改为“注销”,以寻找最佳做法

时间:2019-01-10 11:15:20

标签: swift firebase xcode10.1

首先。...我是Swift 4.0 / Xcode 10.1开发的新手。我遇到的设计问题是,我创建了一个具有firebase身份验证的登录页面(该页面有效),并且我目前正在尝试找出最佳方法来进行设置,以便使我的“登录”按钮位于完成Firebase身份验证过程后,页面将更改为“注销”。我附上了一张应该有帮助的图片。我似乎找不到关于此类事情的最佳做法的任何文档... Image Here

我的猜测是,我设置了第二个视图控制器,但是一旦用户通过身份验证,便被“保护”了。但是,如果有其他/更好的方法来完成此操作,而我不知道,我会问这个问题吗?

@IBAction func login(_ sender: UIBarButtonItem) {
    if Auth.auth().currentUser != nil {
    } else {
        let authUI = FUIAuth.defaultAuthUI()
        authUI!.delegate = self
        let providers: [FUIAuthProvider] = [
            FUIGoogleAuth()]

        authUI?.providers = providers
        let authViewController = authUI!.authViewController()
        self.present(authViewController, animated: true, completion: nil)
        }
        do {
            try Auth.auth().signOut()
        } catch let error as NSError {
            print(error.localizedDescription)
        }
    }


}

///为登录按钮添加了一个变量作为布尔值,然后在登录为true和false时为值添加了按钮。我现在正在寻求有关如何调用上面的登录功能的帮助。抱歉,我是Swift 4.0的新手。

    @IBAction func pressedNavButtonRight(sender: UIBarButtonItem) {
    if isLogin
    {isLogin = false
        self.navigationItem.rightBarButtonItem! = UIBarButtonItem(title: 
"Logout", style: UIBarButtonItemStyle.done, target: self, 
action:"pressedNavButtonRight")
    }
    else
    {
        isLogin = true
        self.navigationItem.rightBarButtonItem! = UIBarButtonItem(title: 
"Login", style: UIBarButtonItemStyle.plain, target: self, 
 action:"pressedNavButtonRight")
    }
}

1 个答案:

答案 0 :(得分:0)

这已经解决,我想通了。我能够使用布尔值来获得所需的结果。我可能稍后再将代码发布给有兴趣的人