我最近通过在Podfile中安装以下内容,将项目从Firebase (2.5.1)更新为Firebase (3.4.0):

pod 'Firebase / Database'

pod 'Firebase / Core'

pod 'Firebase / Auth'

话虽如此,我根据 FirebaseDatabase 文档更新了我的项目,因为我的应用程序主要使用实时数据库和身份验证。

目前,我遇到了一些非常棘手的错误,无法执行以下操作:

private func observeMessages() {
    let messagesQuery = messageRef.queryLimitedToLast(25)
    messagesQuery.observeEventType(.ChildAdded, withBlock: { snapshot in

        let id = snapshot.value!["senderId"] as! String
        let text = snapshot.value!["text"] as! String

        self.addMessage(id, text: text)

        self.finishReceivingMessage()
    })
}

I've tried fixing it to the best of my ability to no avail
and my app keeps crashing due to this

当我在Podfile中包含 Firebase(2.5.1)时,我没有遇到此问题,因此可以确定它归因于新更新。

如果有人可以就如何解决此错误向我提出建议,请随时发表评论并提供与该问题有关的任何建议。谢谢。

16年8月25日

解决方案:
private func observeMessages() {
    let messagesQuery = messageRef.queryLimitedToLast(25)
    messagesQuery.observeEventType(.ChildAdded) { (snapshot: FIRDataSnapshot!) in
        if let id = snapshot.value!["senderId"] as? String, text = snapshot.value!["text"] as? String {
        self.addMessage(id, text: text)
        self.finishReceivingMessage()
      }
    }
  }

最佳答案

解决方案:

private func observeMessages() {
let messagesQuery = messageRef.queryLimitedToLast(25)
messagesQuery.observeEventType(.ChildAdded) { (snapshot: FIRDataSnapshot!) in
    if let id = snapshot.value!["senderId"] as? String, text = snapshot.value!["text"] as? String {
    self.addMessage(id, text: text)
    self.finishReceivingMessage()
      }
    }
  }

09-10 06:57
查看更多