我有一个使用 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/