Saya tahu ada banyak sekali postingan di internet tentang ini, saya juga tahu apa maksud pesan kesalahan ini, saya sudah menemukannya setidaknya 50 kali. Meskipun saya telah mencoba sekitar 1 jam dan saya tidak tahu mengapa saya mendapatkan kesalahan ini pada kode ini:
usernameSignUp?.setPadding()
emailSignUp?.setPadding()
passwordSignUp?.setPadding()
usernameSignUp?.setBottomBorder()
emailSignUp?.setBottomBorder()
passwordSignUp?.setBottomBorder()
emailSignIn?.setPadding()
emailSignIn?.setBottomBorder()
passwordSignIn?.setPadding()
passwordSignIn?.setBottomBorder()
signUpButton?.layer.cornerRadius = 4
}
func validateFields() -> String? {
if usernameSignUp.text?.trimmingCharacters(in: .whitespacesAndNewlines) == "" ||
emailSignUp.text?.trimmingCharacters(in: .whitespacesAndNewlines) == "" ||
passwordSignUp.text?.trimmingCharacters(in: .whitespacesAndNewlines) == ""{
return "Please fill in all fields"
}
let cleanedPassword = passwordSignUp.text!.trimmingCharacters(in: .whitespacesAndNewlines)
if isPasswordValid(cleanedPassword) == false {
return "8 characters or more"
}
return nil
}
@IBAction func signUpTapped(_ sender: Any) {
let error = validateFields()
if error != nil {
showError(error!)
}
else {
let userName = usernameSignUp.text!.trimmingCharacters(in: .whitespacesAndNewlines)
let email = emailSignUp.text!.trimmingCharacters(in: .whitespacesAndNewlines)
let password = passwordSignUp.text!.trimmingCharacters(in: .whitespacesAndNewlines)
Auth.auth().createUser(withEmail: email, password: password) { (result, error) in
if error != nil {
self.showError("Invalid email")
}
else {
let db = Firestore.firestore()
db.collection("users").addDocument(data: ["username": userName, "uid": result!.user.uid]) { (error) in
if error != nil {
self.showError("Username could not be created")
}
}
self.transitionToHome()
}
}
}
}
func isPasswordValid(_ password : String) -> Bool {
let passwordTest = NSPredicate(format: "SELF MATCHES %@", ".{8,}")
return passwordTest.evaluate(with: password)
}
func showError(_ message:String) {
errorLabel.text = message
errorLabel.alpha = 1
}
func transitionToHome() {
let homeViewController = storyboard?.instantiateViewController(identifier: Constants.Storyboard.homeViewController) as? ViewController
view.window?.rootViewController = homeViewController
view.window?.makeKeyAndVisible()
}
@IBAction func emailLoginTapped(_ sender: Any) {
}
@IBAction func loginTapped(_ sender: Any) {
if let emailsignin = emailSignIn.text?.trimmingCharacters(in: .whitespacesAndNewlines),
let passwordsignin = passwordSignIn.text?.trimmingCharacters(in: .whitespacesAndNewlines) {
Auth.auth().signIn(withEmail: emailsignin, password: passwordsignin) { (result, error) in
if error != nil {
self.errorLabel3.text = error!.localizedDescription
self.errorLabel3.alpha = 1
}
else {
self.transitionToHome()
}
}
}
}
}
Itu terjadi di dua baris kode pertama. Jika ada yang bisa membantu, itu akan sangat dihargai.
.text
dariemailSignIn
ataupaasswordSignIn
adalahnil
. Bagaimana Anda mengharapkan kami membantu Anda mengetahui mengapa, tanpa melihat bagaimana Anda memberikan nilai pada hal tersebut? - person New Dev   schedule 02.07.2020emailSignIn.text
dan/ataupasswordSignIn.text
bukannil
, jadi di suatu tempat properti ini seharusnya diberi nilai, tetapi ternyata tidak. Itu tidak ada dalam kode yang Anda tunjukkan. Jadi, dengan kata lain, bug Anda tidak dapat direproduksi dengan kode yang Anda posting di pertanyaan. - person New Dev   schedule 02.07.2020emailSignIn
danpasswordSignIn
keduanya hanyalah kolom teks tempat pengguna masuk untuk masuk. Saya kira pertanyaan saya adalah bagaimana cara mencegahnya menjadi nihil? - person appledeveloper123   schedule 02.07.2020nil
sebelum Anda melakukan beberapa tindakan yang bergantung pada nilai-nilai ini. - person New Dev   schedule 02.07.2020