当我调用此FetchUser方法时,由于snashotDict为nil,应用程序崩溃了,该如何解决?
当调用FetchUser()方法时,并且当新用户登录时,它工作正常,问题在于进入snapshotDict时,它总是返回else,然后退出该方法,我添加了它来处理异常。需要帮助以弄清楚为什么我无法加载已经在其中的所有用户的列表。
下面是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”]为!字符串或以下任何其他两个。因为snapshotDict为零。
下面是Firebase数据库的屏幕截图。 Firebase's screenshot