iOS Firebase:将snapshot.value中的所有关键点都弄乱
我从Firebase服务器收到如下所示的快照。 现在我想快照循环所有的键,但我得到了凌乱的位置。
我不知道为什么发生这种情况。 任何帮助将不胜感激
这里是打印日志的代码
NSLog(@"snapshot = %@",snapshot.value); for (NSString *keyPath in snapshot.value) { NSLog(@"keyPath = %@",keyPath); }
这是日志
2016-04-20 11:48:04.177 EarCrush[5241:79090] snapshot = { "-KFlrXzqsSa50GVnJkqk" = { conversationID = "2886-2377"; text = Okteh; time = "20-04-2016 11:12"; }; "-KFlrgrvdR_uj2o1ltaw" = { conversationID = "2886-2377"; text = "How are you determining"; time = "20-04-2016 11:12"; }; "-KFlrhSBbVnx4XyWjQPy" = { conversationID = "2886-2377"; text = "Message 2 ..... "; time = "20-04-2016 11:12"; }; "-KFlrhzx0TK5CeSR3aAA" = { conversationID = "2886-2377"; text = "Message 3: Hello world "; time = "20-04-2016 11:12"; }; } 2016-04-20 11:48:04.177 EarCrush[5241:79090] keyPath = -KFlrhzx0TK5CeSR3aAA 2016-04-20 11:48:04.178 EarCrush[5241:79090] keyPath = -KFlrhSBbVnx4XyWjQPy 2016-04-20 11:48:04.179 EarCrush[5241:79090] keyPath = -KFlrXzqsSa50GVnJkqk 2016-04-20 11:48:04.179 EarCrush[5241:79090] keyPath = -KFlrgrvdR_uj2o1ltaw
Firebase服务器图片
打印FDataSnapshot时,将打印JSON结构。 由于JSON没有定义子节点的顺序,所以它们的显示顺序是不确定的(尽pipe它经常按照它们的关键字的字典顺序打印子节点)。
Firebase的查询可用于按特定顺序获取数据。 例如从这个问题 :
[[languagesRef queryOrderedByChild:@"distance"] observeEventType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) { for ( FDataSnapshot *child in snapshot.children) { NSLog(@"child.key = %@",child.key); }
Firebase快照包含有关子数据sorting的其他信息,当您打印该快照时,该数据不会显示。 当您循环快照的子项时,将使用此订购信息来确保上述循环中的正确顺序。