[英]Firebase returns nil when fetching data
我在获取数据时遇到问题,现在似乎可以正常工作,但我需要观察值而不是观察 .childAdded。
我当前的代码 function 是:
func fetchJobs() {
ref.child("jobposts").observe(.childAdded) { (snapshot) in
guard let dictionary = snapshot.value as? [String:Any] else { return}
var job = JobData()
job.title = (dictionary["title"] as! String) <-- Error in any of the job.*
job.company = (dictionary["company"] as! String)
job.city = (dictionary["city"] as! String)
job.salary = (dictionary["salary"] as! String)
job.creator = (dictionary["creator"] as! String)
self.jobs.append(job)
}
}
当我将.observe(.childAdded) 更改为.observe(.value) 时出现错误:
Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
有什么想法会导致这种情况吗?
使用 print(dictionary) 打印所有文档,也许我需要 map 以某种方式打印它们? 先感谢您
当您观察节点列表的 a.value 事件时,您需要遍历snapshot.children
以获取各个节点。 从关于监听列表的价值事件的文档中:
_commentsRef.observe(.value) { snapshot in
for child in snapshot.children {
...
}
}
...
是.childAdded
侦听器中当前代码所在的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.