我不知道为什么,但即使当电子邮件&密码字段为空。怎么可能呢?
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)
}
}
}
}
}
当文本字段为空时,UITextField
s的text
属性不是nil
。您需要检查textField.text
的isEmpty
属性才能进行检查。
if let email = emailTextField.text, let password = passwordTextField.text, !email.isEmpty, !password.isEmpty { ...
实际上,UITextField.text
永远不可能是nil
。该属性仅为Optional
,因为它是一个遗留的Objective-C类。有关此方面的详细信息,请检查为什么UITextField.text是可选的。