[英]How to get chronologically latest post from Firebase?
我正在開發使用像新聞提要這樣的Facebook的應用程序,並且我正在使用Firebase作為數據庫。 一切工作正常,我只需要在時間上獲取帖子。
FIRDatabaseQuery * query = [[[_firebaseReference child:@"Demo"]child:@"posts"]queryLimitedToFirst:100];
[query observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
if (snapshot.exists) {
postsDictionary = snapshot.value;
[self createSocialAppDataSource];
}
}];
postsDictionary中的數據與Database中的數據相同,但是我希望該數據(post)相對於時間進行排序,那么如何使用查詢?
我在數據庫中的帖子結構如下
要過濾子屬性上的節點,請調用queryOrderedByChild
。
然后,當您對Firebase數據庫執行查詢時,可能會有多個結果。 因此,快照包含這些結果的列表。 即使只有一個結果,快照也將包含一個結果的列表。
因此,您需要遍歷子級:
FIRDatabaseQuery * query = [[[[_firebaseReference child:@"Demo"] child:@"posts"] queryOrderedByChild: "dateTime"] queryLimitedToFirst:100];
[query observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
for ( FDataSnapshot *child in snapshot.children) {
NSLog(@"child.key = %@",child.key);
}
}];
松散地基於我在這里的答案: IOS Firebase:循環快照中的所有鍵。值變得混亂
通常,人們將他們要輸入的數組追加到collectionView
或tableView
(例如),但是在您的情況下,您可以[myMutableArray insertObject:myObject atIndex:0];
現在,當您枚舉snapshot
每個帖子都將添加到array
的前面
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.