Ios 关于snapshot.value的Firebase排序说明
希望有人能帮我理解Firebase快照和排序。为什么如果在FirebaseDBRef上查询OrderedByChild,snapshot.value会返回Firebase数据库上显示的值(使用浏览器),但是如果对管理单元snapshot.children执行Ios 关于snapshot.value的Firebase排序说明,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,希望有人能帮我理解Firebase快照和排序。为什么如果在FirebaseDBRef上查询OrderedByChild,snapshot.value会返回Firebase数据库上显示的值(使用浏览器),但是如果对管理单元snapshot.children执行,则值会显示为排序。只是想澄清为什么会发生这种情况 让我举例说明 let dinoRef = rootRef.child("dino") let query = dinoRef.queryOrderedByChild("dimensions/
,则值会显示为排序。只是想澄清为什么会发生这种情况
让我举例说明
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)
}
})
谢谢。您必须尝试使用升序和降序选项按孩子排序。这将澄清你的疑问 AFIRDataSnapshot
包含有关返回数据的键、与这些键关联的值以及键的顺序的信息。调用快照时,枚举器将按您请求的顺序返回子项
调用快照时,它必须将所有信息转换为NSDictionary
。字典没有关于数据顺序的固有信息,因此此时结果的顺序将丢失。您好,没有升序或降序选项。根据Firebase文档,排序已为升序,且仅为升序。---。即使有asc或desc选项,您的评论也不能澄清我的问题。如果打印snapshot.value,则结果为未排序;如果打印每个snapshot.children,则结果为排序。