繁体   English   中英

Firebase 取数据时返回nil

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM