用户登录后清除密码文本字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户登录后清除密码文本字段相关的知识,希望对你有一定的参考价值。
如果用户登录,然后立即退回,密码文本字段仍然填充其密码。但为了安全起见,我想让他们不得不重新输入密码。我正在使用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")
}
}
答案
改变这一行
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()
。
以上是关于用户登录后清除密码文本字段的主要内容,如果未能解决你的问题,请参考以下文章