JSQMessagesViewController + Firebase(3.4.0)

时间:2016-08-11 19:07:37

标签: ios swift firebase firebase-realtime-database jsqmessagesviewcontroller

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

pod ' Firebase /数据库'

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()
      }
    }
  }

1 个答案:

答案 0 :(得分:0)

<强>解决方案:

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()
      }
    }
  }