Невозможно получить пользователей в Firebase Child.Value всегда ноль - PullRequest
0 голосов
/ 27 мая 2019

Когда я вызываю этот метод FetchUser, приложение зависало из-за того, что snashotDict был нулевым, как это исправить?

При вызове метода FetchUser () и при входе нового пользователя этоработает нормально, проблема в том, что при получении snapshotDict он всегда возвращает другое, и, выходя из метода, я добавил это для обработки исключения.Нужна помощь, чтобы выяснить, почему я не могу загрузить список всех пользователей, уже находящихся там.

Ниже приведен код внутри метода FetchUser ():

   let userDB = Database.database().reference().child("users")
    userDB.observe(.childAdded) { (snapShot) in

        for child in snapShot.children {
            if let child = child as? DataSnapshot {
                guard let snapshotDict = child.value! as? [String: AnyObject] else {
                        return
                    }
                let user = User()
                user.email = snapshotDict["Email"] as! String
                user.name = snapshotDict["FullName"] as! String
                user.UID = snapshotDict["UID"] as! String

                if (user.email != Auth.auth().currentUser?.email){
                    self.users.append(user)
                    self.configureTableView()
                    self.tableView.reloadData()
                }
            }
        }
    }

Я ожидаю получитьсписок пользователей, так как self.conigureTableView () перезагрузит мой tableView и все работает хорошо, ошибка / сбой происходит на user.email = snapshotDict ["Email"] as!Строка или любой из двух других ниже.потому что snapshotDict равен nil.

Ниже приведен скриншот из базы данных Firebase. Скриншот Firebase

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...