在我的数据结构中,我有一个包含子 Detail 元素(一对多)的 Master 元素,类似这样:
/myapp/masters/1234/details/5678
/myapp/masters/1234/details/3456
/myapp/masters/6789/details/9876
现在,当我在我的 ios 应用程序的 TableView 中显示母版列表时,我想显示每个母版元素下的子级数量:
- 1234 (2)
- 6789 (1)
使用 Firebase 高效执行此操作的最佳方法是什么?我是否应该在存储在主级别的元素中保留一个计数器,并在每次附加新细节时以事务方式更新它?其他策略?
最佳答案
FBDataSnapshot 有一个 childrenCount 属性,用法如下:
[fbRef observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
NSInteger childCount = snapshot.childrenCount;
}
但是,关于您的数据在 Firebase 中的外观存在疑问。
是这个结构吗?
myapp
masters
1234
details
5678
3456
6789
details
9876
如果是,那么您可以使用上面的相同代码并迭代快照以获取子节点的计数(取决于数据量,可能还有其他更好的方法)。如果您的 FB 数据看起来不同,那将取决于结构。
关于ios - 主要细节中的 child 计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29703083/