如果用户登录,然后立即注销,则密码文本字段仍将填充其密码。但是为了安全起见,我想让他们不得不重新输入密码。我正在使用Firebase身份验证
Auth.auth().signIn(withEmail: emailTF.text!, password: passwordTF.text!) { (user, error) in
if error == nil && user != nil {
print("Successful Login!")
self.passwordTF.text = nil
} else {
print("Error logging in: \(error!.localizedDescription)")
}
这是我到目前为止的内容,它清空了文本字段,但是有一个问题。有一个功能可以检查用户名或密码文本字段是否为空。如果其中之一是禁用登录按钮。使用这种清空文本字段的方法,禁用登录按钮的功能不再起作用。用户退出后,密码文本字段为空,但已启用登录按钮,但不应启用。
@objc func editingChanged() {
if emailTF.text!.isEmpty || passwordTF.text!.isEmpty {
loginButton.isEnabled = false
loginButton.alpha = 0.5
//print("Email and password fields NOT FILLED in")
} else {
loginButton.alpha = 1
loginButton.isEnabled = true
//print("Email and password field FILLED in")
}
}
答案 0 :(得分:0)
更改此行
self.passwordTF.text = ""
它将总是有回报的,这样可以避免在代码中强制展开变量:
@objc func editingChanged() {
guard let email = emailTF.text, let password = passwordTF.text else {
return
}
if email.isEmpty || password.isEmpty {
//rest of your code
}
,并确保您在editingChanged()
中致电viewDidAppear()
。