gpt4 book ai didi

ios - Firebase iOS 查询未按预期排序

转载 作者:可可西里 更新时间:2023-11-01 17:06:10 24 4
gpt4 key购买 nike

我已经使用 childByAutoId 保存了我的数据,以便它在 Firebase 中按时间顺序排列。当我使用下面的查询进行查询,然后打印 snapshot.value 时,它按我预期的顺序打印 --按时间顺序--,但是当我尝试枚举 snapshot.value,当我尝试使用 [snap.value allkeys] 获取键时,它们不再按时间顺序排列。我尝试使用 [self.refMyOrder queryOrderedByKey][self.refMyOrders queryOrderedByChild:@"timestamp" 我有一个 child timestamp是 Epoch 时间的数据类型 long。但是,它仍然没有维持所需的顺序。

我知道 NSDictionary 的底层数据结构不是有序数据结构。

我做错了什么?

[self.refMyOrders observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"snapshot.value = %@", snapshot.value);
NSLog(@"all keys = %@", [snapshot.value allKeys]);
}];

最佳答案

因此,我阅读了 Firebase iOS SDK 附带的 FDataSnapshot.h 头文件,并找到了一种枚举 snapshot 的方法,以便它保留在正确的顺序。

[self.refMyOrders observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot) {
for (FDataSnapshot* child in snapshot.children) {
NSLog(@"%@ -> %@", child.value[@"orderID"], child.value[@"timestamp"]);
}
}];

这正是我要找的。我将把这个问题留给 future 的用户。我找不到任何这么简单的东西。

关于ios - Firebase iOS 查询未按预期排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29245528/

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