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/

相关文章:

javascript - Firebase Cloud Firestore - 如何同时查询两个子集合?

firebase - 允许匿名用户写入 firebase firestore

IOS - Android 的 Smack API 库可以用于 IOS 连接到 Ejabberd 服务器吗?

ios - 没有 'decodeIfPresent' 候选产生预期的上下文结果类型 '[ModelMemberSubCategory]!'

ios - 如何在使用 drawrect() 绘制后删除标签

java - 如何使用 firebase 实时数据库的字符串列表进行查询

ios - UIWebView 在关闭其父 View 时重新加载视频

ios - swift 中的 UICellView 单元格布局

java - Firebase 离线 setValue 上没有 CompletionListener

javascript - 类型 'auth'/home/kartik/Desktop/Ecommerce/ecommerce/node_modules/firebase/index") 上不存在属性 'typeof import("")'.ts(2339)