FireBase iOS queryOrderedByChild 不起作用

Posted

技术标签:

【中文标题】FireBase iOS queryOrderedByChild 不起作用【英文标题】:FireBase iOS queryOrderedByChild not working 【发布时间】:2014-11-11 14:20:23 【问题描述】:

我从下面的代码中得到结果,但它们不是按指定的顺序。

Firebase *myRootRef = [[Firebase alloc] initWithUrl:@"https://xxxxxxxxx.firebaseio.com"];
Firebase *updates = [[myRootRef childByAppendingPath:@"data"] childByAppendingPath:@"Offences"];
[updates queryOrderedByChild:@"dateUpdated"];
[updates observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) 
    NSLog(@"VALUE: %@", snapshot.value);
 ];

Offences 是一个像这样的 JSON 数组...

[ 
  "dateUpdated" : 20140915,
  "name" : "Bla bla bla"
, 
  "dateUpdated" : 20140912,
  "name" : "Bla bla bla"
, 
  "dateUpdated" : 20140914,
  "name" : "Bla bla bla"
 ]

我怀疑它是在数组中导致问题的事实,感谢任何帮助。

【问题讨论】:

调用queryOrderedByChild 返回一个修改后的查询,所以你需要链接方法调用:[[updates queryOrderedByChild:@"dateUpdated"] observeEventType:FEventTypeChildAdded...]。请参阅此处的示例“使用子键进行排序”:firebase.com/docs/ios/guide/… 我以为我已经尝试过了,谢谢 - 如果您将此作为答案,我可以接受并投票:) 【参考方案1】:

调用queryOrderedByChild返回修改后的查询。所以你需要链接方法调用:

[[updates queryOrderedByChild:@"dateUpdated"] observeEventType:FEventTypeChildAdded...]

在此处查看示例“使用子键进行排序”:https://www.firebase.com/docs/ios/guide/retrieving-data.html#section-ordered-data

【讨论】:

以上是关于FireBase iOS queryOrderedByChild 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何监听 Firebase 任务完成?

在 Firebase 中获取有限数量的记录

Swift 3 和 Firebase - Tableview 未更新

我正在尝试在用户输入时查询firebase数据库,但我一直收到此错误

Firebase.google.com iOS 中的 Firebase 动态链接(Swift)

新的 Firebase 数据导致 TableView 单元格闪烁 (Firebase/iOS/Swift)