Swift - 如何在 Firebase 上创建降序排序查询?
Swift - How to create Sort query as Descending on Firebase?
我正在使用 Firebase 和 Alamofire,AlamofireImage 将我的 imageURL 数据缓存在内存中并上传 ImageShack。
我一直在尝试创建降序查询并进行搜索,但找不到适合我的描述。这是我在 Firebase 上的测试 ref_post。
childByAutoId()
-- userUid
-- imageUrl
-- 时间戳(我使用 创建)
*使用 NSDate().formattedISO8601 这是最好的方法还是你能建议我基本上处理它吗?
如何在 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()
其中 returns 一个 NSTimeInterval
(这是一个 Double
),然后你可以保存在火力基地。读取数据时,可以用init(timeIntervalSinceReferenceDate:)
.
得到原来的NSDate
而不是
self.posts.append(post)
使用
self.posts.insert(post, at: 0)
这会将项目添加到列表的开头,从而将您从 firebase 获得的升序反转为降序。
我正在使用 Firebase 和 Alamofire,AlamofireImage 将我的 imageURL 数据缓存在内存中并上传 ImageShack。
我一直在尝试创建降序查询并进行搜索,但找不到适合我的描述。这是我在 Firebase 上的测试 ref_post。
childByAutoId()
-- userUid
-- imageUrl
-- 时间戳(我使用
*使用 NSDate().formattedISO8601 这是最好的方法还是你能建议我基本上处理它吗?
如何在 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()
其中 returns 一个 NSTimeInterval
(这是一个 Double
),然后你可以保存在火力基地。读取数据时,可以用init(timeIntervalSinceReferenceDate:)
.
NSDate
而不是
self.posts.append(post)
使用
self.posts.insert(post, at: 0)
这会将项目添加到列表的开头,从而将您从 firebase 获得的升序反转为降序。