我是新手,我想尽我所能,尽我所能,尽量不打扰别人,我已经花了几天的时间来解决问题,但仍然没有希望,我希望你们能告诉我我该如何解决。

我想获取数据并将其放在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/

10-10 02:06