Невозможно записать данные в базу данных реального времени iOS Xcode - PullRequest
1 голос
/ 23 апреля 2020

Я пытался записать базовую c информацию о пользователе, такую ​​как uid и email пользователя, в базу данных в реальном времени после регистрации пользователя. Пользователь регистрируется, но данные не записываются в базу данных.

func updateDb(){
        let user = Auth.auth().currentUser
        let uid = user?.uid ?? ""
        print(uid)
        let reference = Database.database().reference()
        reference.child("userss").child(uid).setValue(["uid": uid, "email": email]){ (err, resp) in
            guard err == nil else {
                print("Posting failed : ")
                print(err?.localizedDescription ?? "")

                return
            }
            print("No errors while posting, :")
            print(resp)
        }

        self.hideProgress()
    }

1 Ответ

1 голос
/ 24 апреля 2020

Сначала вам нужно защитить идентификатор пользователя, в случае, если идентификатор пользователя пуст, ссылка не будет вызываться.

guard let uid = user?.uid else {
 print("ID not found")
 return
}

Чем сделать ваши параметры такими, как этот

let param: [String: Any] = ["uid": uid, "email": email]

, чем загрузить значения, подобные этому

reference.child("users").child(uid).updateChildValues(params) { (error, ref) in
        if let err = error {
            print(err.localizedDescription)
            return
        }
        print("Values updated")
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...