我使用childByAutoId保存了我的数据,因此它在Firebase中按时间顺序排序.当我使用下面的查询查询,然后我打印snapshot.value它按照我预期的顺序打印 – 按时间顺序排序 – 但是当我尝试枚举
据我所知,NSDictionary的基础数据结构不是有序数据结构.
我究竟做错了什么?
[self.refMyOrders observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) { NSLog(@"snapshot.value = %@", snapshot.value); NSLog(@"all keys = %@", [snapshot.value allKeys]); }];因此,我阅读了Firebase iOS SDK附带的FDataSnapshot.h头文件,并找到了一种枚举快照的方法,以便它保持正确的顺序.
[self.refMyOrders observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) { for (FDataSnapshot* child in snapshot.children) { NSLog(@"%@ -> %@", child.value[@"orderID"], child.value[@"timestamp"]); } }];
这正是我所寻找的.我将在此留下这个问题给未来的用户.我找不到这么简单的事.