Swift – 如何在Firebase上按降序创buildsorting查询?

我正在使用Firebase和Alamofire,AlamofireImage将我的imageURL数据caching在内存上,并上传ImageShack。

我坚持创build降序查询试图做和search,但我找不到可能的描述。 这是我在Firebase上的testingref_post

childByAutoId()

– userUid

– imageUrl

– 时间戳(我用这个创build的)

*使用NSDate()。formattedISO8601是最好的方式或者你能build议我基本上处理它?

我如何在Firbase IOS / Swift中进行降序查询。 这是我的viewDidLoad

let query = DataService.ds.REF_POSTS.queryOrderedByChild("timestamp") query.observeEventType(.Value, withBlock: { snapshot in if let snapshots = snapshot.children.allObjects as? [FDataSnapshot] { self.posts = [] for snap in snapshots { if let postDict = snap.value as? Dictionary<String, AnyObject> { print(postDict) let post = Post(imageUrl: postDict["imageUrl"]! as? String, username: DataService.ds.REF_USERS.authData.uid) self.posts.append(post) } } self.tableView.reloadData() } }) 

 self.posts = self.posts.reverse() 

为了保存NSDate实例,我个人使用timeIntervalSinceReferenceDate() ,它返回一个NSTimeInterval (这是一个Double ),然后你可以保存在Firebase中。 读取数据时,可以使用init(timeIntervalSinceReferenceDate:)获取原始的NSDate

代替

 self.posts.append(post) 

使用

 self.posts.insert(post, at: 0) 

这会将项目添加到列表的开头,从而将从Firebase获得的升序逆转为降序。