gpt4 book ai didi

ios - Firebase iOS SDK - 如何计算表现良好的 child 数量?

转载 作者:搜寻专家 更新时间:2023-11-01 07:19:05 25 4
gpt4 key购买 nike

我有这种 JSON 树:
enter image description here

在我的应用程序的主页上,我只想显示组列表和该组中的消息数。

在正常情况下,我会获取所有聊天记录并显示每个群聊消息的计数,但如果有更多群组,这样做会对性能产生很大影响。

我找到了 this适用于 Web API 且已过时,但不适用于 iOS SDK。

那么如何在不检索所有消息的情况下计算来自 group1 的消息数?

最佳答案

如何在每个组下添加一个 noOfMessages 节点,并在每次组消息计数更改时更新它。您将不得不在某个时候进行查询以计算 noOfChildren,对吗?但不是每次都这样。


对我来说,我刚刚创建了一个 func countNodes() 每次添加子项时都会触发它,或者您可以在 NSTimer 中使用 timeInterval,正如您所说太贵了。

但是对于 .childAdded,您只会收到附加的键值对,而不是整个节点的值,然后您要做的就是更新您的 noOfMessages 节点的值与 .childAdded 计数。


至于你的情况,将你的结构更改为:-

 chats :{
group1 : {
...
},
},
noOfMessages :{
group1 : 18,
group2 : 76,
....
}

将观察者添加到您的每组事件类型 .childAdded

FIRDatabase.database().reference().child("chats/group1").observeSingleEvent(of: .childAdded, with: {(snap) in

//Run transaction to update your noOfMessage Count

})

获取 noOfMessages 计数:-

FIRDatabase.database().reference().child("noOfMessages/group1").observeSingleEvent(of: .value, with: {(snap) in
let count = snap.value as! Int
})

关于ios - Firebase iOS SDK - 如何计算表现良好的 child 数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40057852/

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