【发布时间】:2015-06-16 15:34:38
【问题描述】:
这是我的模型。
messagesRef = Firebase(url: "https://"+CONSTANTS.FirebaseDB+".firebaseio.com/messages/1:1000")
messagesRef.queryLimitedToLast(5).observeEventType(FEventType.ChildAdded, withBlock: { (snapshot) in
self.message_list.append(snapshot) // it works.
});
});
我的代码有效 - 它获取最后 5 条消息 (8-12)。
但是,如果我有一个函数查询接下来的 5 条消息 (2-6),该怎么办?有一个开始和偏移。我该如何查询这个?
【问题讨论】:
-
startAt() 和 endAt() 修饰符没有成功? firebase.com/blog/2013-10-01-queries-part-one.html
-
iOS 库没有这些方法。
-
firebase-util 库支持分页:github.com/firebase/firebase-util/blob/master/src/Paginate/…。实现的核心在这里可用:github.com/firebase/firebase-util/blob/master/src/Paginate/libs/…。尽管该库仅在 JavaScript 中可用,但使用的方法应该可以很容易地转移到 Firebase 的 iOS SDK。
-
如果您的键确实像屏幕截图所示的那样连续,那么@kpie 建议的方法也应该有效。但请注意,这种顺序排序的键在分布式/多用户系统中通常不是一个好主意,因为/当多个用户/客户端可能同时向数组添加项目时。见firebase.com/docs/ios/guide/…
-
iOS 肯定有查询方法,还有指南介绍:firebase.com/docs/ios/guide/…