Ios JSQMessageViewController+;Firebase(3.4.0)

Ios JSQMessageViewController+;Firebase(3.4.0),ios,swift,firebase,firebase-realtime-database,jsqmessagesviewcontroller,Ios,Swift,Firebase,Firebase Realtime Database,Jsqmessagesviewcontroller,最近,我将我的项目从Firebase(2.5.1)更新为Firebase(3.4.0),方法是在我的播客文件中安装以下内容: pod“火力基地/数据库” 吊舱“火力基地/核心” pod“火力基地/授权” 说到这里,我根据FirebaseDatabase文档更新了我的项目,因为我的应用程序主要使用实时数据库和身份验证 目前,我遇到了一些非常棘手的错误,我无法解决以下问题: private func observeMessages() { let messagesQuery = messag

最近,我将我的项目从Firebase(2.5.1)更新为Firebase(3.4.0),方法是在我的播客文件中安装以下内容:

pod“火力基地/数据库”

吊舱“火力基地/核心”

pod“火力基地/授权”

说到这里,我根据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()
    })
}

当我的podfile中有Firebase(2.5.1)时,我没有遇到这个问题,所以我确信这是由于新的更新

如果有人能建议我如何通过这个错误,请随时评论和提供任何有关这个问题的建议。多谢各位

8/25/16


解决方案:

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

解决方案:

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

你可能想从手机和模拟器上删除该应用程序,然后重新运行。它不是我的手机,而是Xcode模拟器本身@彼得弗里斯这就是为什么我提到模拟器,你试过了吗?即使是“重置内容和设置”,我也很抱歉,我读得太快了。它不起作用。重置模拟器和iPhone,仍然有相同的错误。在这种情况下,我认为问题不在func observeMessages()中,因为我使用相同的代码(可能分布在不同的区域),我的代码也可以工作。