Когда я вызываю этот метод 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