私はログインページの作成とFirebaseを使用したアカウントの作成を行っています。私は正常にユーザーにサインアップし、ユーザーをfirebaseに保存しています。今私は自分のアカウントを作成するときに、ユーザーIDに名字を保存しようとしています。私は他のSOの答えを見てみたが、まだこれを動作させるように見えることはできません。複数のアンラッピング試行にもかかわらず、致命的なエラーが発生しました:オプション値のアンラッピング中に予期せぬエラーが発生しました
私は複数のチュートリアルを行っていますが、複数のアンラッピングを試みましたが、このエラーが発生し続けています。
ビューコントローラ
import UIKit
import Firebase
class ViewController: UIViewController {
var ref: DatabaseReference!
@IBOutlet weak var emailTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var firstNameField: UITextField!
@IBOutlet weak var lastNameField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
var ref = Database.database().reference()
}
@IBAction func createAccountTapped(_ sender: Any) {
if let email = emailTextField.text, let password = passwordTextField.text, let firstName = firstNameField.text, let lastName = lastNameField.text {
Auth.auth().createUser(withEmail: email, password: password) { (user, error) in
// ...
if let firebaseError = error {
print(firebaseError.localizedDescription)
return
//add popup later
}
let userId = user!.uid
self.ref.child("users").child(userId).setValue(["firstName": firstName])
print("User registered in Firebase with a userId of " + user!.uid)
}
}
}
私が間違っているつもりです:以下は私のビューコントローラのですか?私は、もし私が 'let let'を使って上の変数をアンラッピングしていると思った。私は個別にアンラップしてみましたが、同じエラーが続いています。少し失われた。
どのラインがエラーを表示していますか? – ColGraff
@ColGraffこれは私のFirebaseデータベース参照行です:self.ref.child( "users")。子(userId).setValue(["firstName":firstName]) – sharedev
これはおそらく 'let userId = user!.uid' – ryantxr