gpt4 book ai didi

ios - Firebase 对 snapshot.value 的排序说明

转载 作者:可可西里 更新时间:2023-11-01 00:58:36 25 4
gpt4 key购买 nike

希望有人能帮助我理解 Firebase 快照和排序。为什么如果您在 FirebaseDBRef 上查询 OrderedByChild,snapshot.value 会返回 Firebase 数据库中显示的内容(使用浏览器),但如果您执行 for snap in snapshot.children{},值会显示已排序。只是想澄清为什么会发生这种情况。

让我用例子来解释。

let dinoRef = rootRef.child("dino")
let query = dinoRef.queryOrderedByChild("dimensions/height")
query.observeSingleEventOfType(.Value, withBlock: { snapshot in
// This prints to the console unsorted
print(snapshot.value)

// This prints to console sorted
for snap in snapshot.children {
print(snap)
}
})

谢谢。

最佳答案

FIRDataSnapshot 包含有关返回数据的键、与这些键关联的值以及键的顺序的信息。当您调用 snapshot.children枚举器将按照您请求的顺序返回子项的快照。

当您调用 snapshot.value 时在快照上,它必须将所有信息转换为 NSDictionary。字典没有关于数据顺序的固有信息,因此结果的顺序在这一点上丢失了。

关于ios - Firebase 对 snapshot.value 的排序说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39031149/

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