Firebase数据库赢得';t在swift中存储(写入)数据

Firebase数据库赢得';t在swift中存储(写入)数据,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,按下操作按钮时,字段未写入firebase数据库。我已将数据库链接到应用程序,并安装了所有播客。它构建正确,但当我运行模拟时,按钮会转到下一个视图控制器,但数据不会保存到firebase @IBAction func registerButtonTapped(_ sender: Any) { //Validate the fields let error = validateFields() if error != nil { //There's s

按下操作按钮时,字段未写入firebase数据库。我已将数据库链接到应用程序,并安装了所有播客。它构建正确,但当我运行模拟时,按钮会转到下一个视图控制器,但数据不会保存到firebase

@IBAction func registerButtonTapped(_ sender: Any) {

    //Validate the fields
    let error = validateFields()

    if error != nil {

        //There's something wrong with the fields, show error message
        showErrorUser("Make sure all fields filled out correctly.")

    } else {

        //Create clean version of data
        let firstName = firstNameTextField.text!.trimmingCharacters(in: .whitespacesAndNewlines)
        let lastName = lastNameTextField.text!.trimmingCharacters(in: .whitespacesAndNewlines)
        let address = addressTextField.text!.trimmingCharacters(in: .whitespacesAndNewlines)
        let city = cityTextField.text!.trimmingCharacters(in: .whitespacesAndNewlines)
        let state = stateTextField.text!.trimmingCharacters(in: .whitespacesAndNewlines)
        let zipCode = zipCodeTextField.text!.trimmingCharacters(in: .whitespacesAndNewlines)
        let email = emailTextField.text!.trimmingCharacters(in: .whitespacesAndNewlines)
        let password = passwordTextField.text!.trimmingCharacters(in: .whitespacesAndNewlines)

        //Create the user
        Auth.auth().createUser(withEmail: email, password: password) { (result, err) in

            //Check for errors
            if err != nil {

                //There was an error creating the user
                self.showErrorUser("Error creating user")
            } else {

                //User was created successfully, store user information
                let db = Firestore.firestore()

                db.collection("users").addDocument(data: ["firstName":firstName, "lastName":lastName, "address":address, "city":city, "state":state, "zipCode":zipCode, "email":email, "password":password, "uid": result!.user.uid ]) { (error) in

                    if error != nil {
                        self.showErrorUser("Error saving user data")
                    }

                }

                //Transition to home screen
                self.transitionToHome()

            }

您已经用
firebase实时数据
标记了该问题,但您的代码正在调用Cloud Firestore API。Firebase实时数据库和Cloud Firestore是两个完全独立的数据库,因此请确保您也在查看。请注意,Firebase是异步的,这一行
self.transitionHome()
将在数据写入Firebase之前执行。在这种情况下,这可能没问题,但我们不知道该函数的作用。另外,请注意,用户通常存储在/users节点中,documentId是用户uid。在这种情况下,它被存储在一个字段中,这意味着每次您需要该数据时,您都必须查询它(速度较慢),而不是在/users/ui直接访问它(速度更快)。您已经用
firebase realtime data
标记了该问题,但您的代码正在调用Cloud Firestore API。Firebase实时数据库和Cloud Firestore是两个完全独立的数据库,因此请确保您也在查看。请注意,Firebase是异步的,这一行
self.transitionHome()
将在数据写入Firebase之前执行。在这种情况下,这可能没问题,但我们不知道该函数的作用。另外,请注意,用户通常存储在/users节点中,documentId是用户uid。在本例中,它存储在一个字段中,这意味着每次需要该数据时,您都必须查询它(速度较慢),而不是在/users/uid处直接访问它(速度更快)