虽然电子邮件和密码字段为空,但我正在移动到下一个屏幕



我不知道为什么,但即使当电子邮件&密码字段为空。怎么可能呢?

import UIKit
import Firebase
class RegisterViewController: UIViewController {
@IBOutlet weak var errorLabel: UILabel!
@IBOutlet weak var emailTextfield: UITextField!
@IBOutlet weak var passwordTextfield: UITextField!

@IBAction func registerPressed(_ sender: UIButton) {

if let email = emailTextfield.text, let password = passwordTextfield.text {
Auth.auth().createUser(withEmail: email, password: password) { authResult, error in
if let e = error {
self.errorLabel.text = e.localizedDescription
} else {
self.performSegue(withIdentifier: "RegisterToChat", sender: self)
}
}
}
}
}

当文本字段为空时,UITextFields的text属性不是nil。您需要检查textField.textisEmpty属性才能进行检查。

if let email = emailTextField.text, let password = passwordTextField.text, !email.isEmpty, !password.isEmpty { ...

实际上,UITextField.text永远不可能是nil。该属性仅为Optional,因为它是一个遗留的Objective-C类。有关此方面的详细信息,请检查为什么UITextField.text是可选的。

最新更新