首先。...我是Swift 4.0 / Xcode 10.1开发的新手。我遇到的设计问题是,我创建了一个具有firebase身份验证的登录页面(该页面有效),并且我目前正在尝试找出最佳方法来进行设置,以便使我的“登录”按钮位于完成Firebase身份验证过程后,页面将更改为“注销”。我附上了一张应该有帮助的图片。我似乎找不到关于此类事情的最佳做法的任何文档...
我的猜测是,我设置了第二个视图控制器,但是一旦用户通过身份验证,便被“保护”了。但是,如果有其他/更好的方法来完成此操作,而我不知道,我会问这个问题吗?
@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")
}
}
答案 0 :(得分:0)
这已经解决,我想通了。我能够使用布尔值来获得所需的结果。我可能稍后再将代码发布给有兴趣的人