我是新手,我想尽我所能,尽我所能,尽量不打扰别人,我已经花了几天的时间来解决问题,但仍然没有希望,我希望你们能告诉我我该如何解决。
我想获取数据并将其放在newPerson中,在此处输入代码newPersons.append(nyPerson!)
,并崩溃,提示Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
Auth.auth().addStateDidChangeListener { (auth, user) in
self.ref = Database.database().reference(withPath: "personer")
self.ref.observe(.value, with: { (snapshot) in
var newPersons:[BackUp] = []
for item in snapshot.children {
let nyPerson = BackUp(snapshot: item as! DataSnapshot)
newPersons.append(nyPerson!)
}
self.personsArray = newPersons
self.tableView.reloadData()
})
}
最佳答案
这是一个代码形式的入门文档:https://firebase.google.com/docs/database/ios/lists-of-data
我认为您在BackUp.init(snapshot:DataSnapshot)中遇到的问题。请确保以可选方式获取数据,例如:
init(snapshot: DataSnapshot) {
let value = snapshot.value as? NSDictionary
let username = value?["username"] as? String ?? ""
...
}
关于ios - 如何从Firebase获取数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55608301/