gpt4 book ai didi

ios - 奇怪的 Firebase IOS queryStartingAtValue 返回错误的顺序

转载 作者:行者123 更新时间:2023-12-01 18:07:20 26 4
gpt4 key购买 nike

我正在尝试实现一个 Collection View ,它可以通过延迟加载来显示帖子,一次只加载 15 个帖子,我将最后下载的帖子保存在变量 lastPostID 中并将其传递给方法queryStartingAtValue但是当我得到结果时,snapshot.value排序正确但是当我写这行时:

NSDictionary *retrivedData = snapshot.value;
retrivedData字典搞砸了,顺序错误。并且因为 lastPostID总是一样的

那是我的查询代码:
  FIRDatabaseReference *dbRef = [[[[FIRDatabase database]reference] child:POSTS_FOR_CHALLENGES] child:challengeID];    
[[[[dbRef queryOrderedByKey] queryStartingAtValue:lastPostID] queryLimitedToFirst:15] observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
//sort the keys of the dictionary/json alphabetically
NSMutableDictionary *posts = snapshot.value;
if(sortedValues.count > 0)
{

lastPostID = [snapshot.value allKeys].lastObject
}
[connector postsForChallengeRetrived:posts];

}];

我设法通过对 retrivedData 进行排序来解决它的 key 在客户端,但它不是一个好的解决方案,有什么想法吗?

最佳答案

snapshot包含有序的结果。但是当你请求 snapshot.value它将结果转换成字典,字典本质上是无序的。

所以不是立即转换成字典,loop over snapshot.children 你会以正确的顺序找到它们。

关于ios - 奇怪的 Firebase IOS queryStartingAtValue 返回错误的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39506029/

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