swift - 仅从 Firebase 检索新值

标签 swift firebase

我有一个使用 Firebase 的聊天屏幕。我正在使用以下代码:

    ref2.observeEventType(.ChildAdded, withBlock: { snapshot in
        let msg = snapshot.value.objectForKey("message")!
        self.addMsg(String(msg))
    })

func addMsg(m:String) {
    txtChat.text = txtChat.text + "\r\n" + m
}

它工作正常,但是当您第一次连接到数据库时,它会处理之前的所有消息。我想修复它,以便用户只能看到他在房间时添加的消息。

最佳答案

我决定在新客户端连接时先清除数据库,然后再读取数据库。这样他们就不会收到任何旧消息,而只会收到连接后输入的任何内容。

let profile = ref3.ref.childByAppendingPath("mainChat")
profile.removeValue()
ref2.observeEventType(.ChildAdded, withBlock: { snapshot in
let msg = snapshot.value.objectForKey("message")!
    self.addMsg(String(msg))
})

func addMsg(m:String) {
    txtChat.text = txtChat.text + "\r\n" + m
}

关于swift - 仅从 Firebase 检索新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36800967/

相关文章:

firebase - 将 Brotli 与 Firebase 托管结合使用

java - 是否真的有必要删除完整的监听器 Firebase 身份验证?

python - 如何使用 python 从 firebase 获取当前登录帐户的 UID

swift - sqlite3绑定(bind)到文本swift项目

ios - 如何使节点位置适应横向和纵向

ios - 创建 Constant (let) 空 Array 对象有什么用?

android - 通过 Jenkins 将参数传递给 gcloud 应用程序

swift - 从字符串数组中获取新的字典数组,以在 Collection View 中显示

ios - 使用 Swift 的 Core Graphics/Quartz Core resizing 从较小尺寸调整到较大尺寸

ios - 将新子项添加到 Firebase 数据库