Firebase数据库赢得';t在swift中存储(写入)数据
按下操作按钮时,字段未写入firebase数据库。我已将数据库链接到应用程序,并安装了所有播客。它构建正确,但当我运行模拟时,按钮会转到下一个视图控制器,但数据不会保存到firebaseFirebase数据库赢得';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
@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处直接访问它(速度更快)