gpt4 book ai didi

ios - 如何使用swift和ios使firebase sdk中的旧消息过期

转载 作者:行者123 更新时间:2023-11-28 21:45:57 26 4
gpt4 key购买 nike

我正在尝试将使用 javascript sdk 的其他 stackoverflow 答案翻译成 swift/obj-c ios 解决方案。

Firebase chat - removing old messages

这是我的代码:

    messagesRef?.observeEventType(FEventType.ChildAdded, withBlock: { (snapshot:FDataSnapshot!) -> Void in
if (snapshot != nil)
{
msg = snapshot.value["avatar"] as? Dictionary<String,AnyObject>

}
})

那么几个问题:

  1. 它似乎为所有过去的消息触发 childadded 事件,而不仅仅是新事件 - 这是它应该工作的方式吗?有没有办法将其限制为仅新消息/子消息而不是现有消息?

  2. 如何像在 js 示例中那样为引用添加限制?

  3. 如何将这段js代码翻译成swift?

示例:

messagesRef.endAt(timestamp).on("child_added", function(snap) {
snap.ref().remove();
});

最佳答案

按照 Firebase 标准,您提到的问题已经很老了。因此,虽然您可以将其转换为 iOS,但可能有更好的方法来完成您正在尝试的工作。花一个小时左右的时间阅读 Firebase 的 iOS 文档,可能会为您省去很多麻烦。

  1. 是的,这是 Firebase 的正常行为。如果您只需要新消息,请查看此处:Firebase child_added only get child addedHow to retrieve only new data?

  2. Firebase JavaScript endAt 转换为 iOS queryEndingAtValue:。参见 https://www.firebase.com/docs/ios/guide/retrieving-data.html#section-queries

关于ios - 如何使用swift和ios使firebase sdk中的旧消息过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30154274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com