作者:Mars丶fasfa | 来源:互联网 | 2023-05-16 15:32
我已经保存了我的数据,childByAutoId
因此它在Firebase中按时间顺序排序.当我使用下面的查询查询,然后我打印snapshot.value
它按照我预期的顺序打印 - 按时间顺序排序 - 但是当我尝试枚举时snapshot.value
,当我尝试获取密钥时[snap.value allkeys]
,它们不再按时间顺序排序.我尝试过使用[self.refMyOrder queryOrderedByKey]
并且[self.refMyOrders queryOrderedByChild:@"timestamp"
我有一个孩子timestamp
,这是一个long
Epoch时间的数据类型.但是,它仍然没有维持所需的顺序.
据我所知,NSDictionary的基础数据结构不是有序数据结构.
我究竟做错了什么?
[self.refMyOrders observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"snapshot.value = %@", snapshot.value);
NSLog(@"all keys = %@", [snapshot.value allKeys]);
}];
nodebase..
7
因此,我阅读了FDataSnapshot.h
Firebase iOS SDK附带的头文件,并找到了一种枚举方式,snapshot
以便它保持正确的顺序.
[self.refMyOrders observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
for (FDataSnapshot* child in snapshot.children) {
NSLog(@"%@ -> %@", child.value[@"orderID"], child.value[@"timestamp"]);
}
}];
这正是我所寻找的.我将在此留下这个问题给未来的用户.我找不到这么简单的事.
1> nodebase..:
因此,我阅读了FDataSnapshot.h
Firebase iOS SDK附带的头文件,并找到了一种枚举方式,snapshot
以便它保持正确的顺序.
[self.refMyOrders observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
for (FDataSnapshot* child in snapshot.children) {
NSLog(@"%@ -> %@", child.value[@"orderID"], child.value[@"timestamp"]);
}
}];
这正是我所寻找的.我将在此留下这个问题给未来的用户.我找不到这么简单的事.