這是我的數據模型。iOS Firebase排序和限制 - 觀察員不叫
project-foo
-posts
-KLs123412341234
key: "-KLs123412341234"
message: "free cupcakes"
time: 1467675688163
-...
key: "..."
message: "..."
time: ...
我想只在過去15分鐘內抓取帖子。 我在我的Firebase控制檯中看到正在添加的孩子,但問題在於觀察者似乎沒有被調用 - "hello"
未打印。
我的iOS應用具有下面的代碼,這不被調用:
class ViewController: UIViewController {
var ref: FIRDatabaseReference?
override func viewDidLoad() {
super.viewDidLoad()
ref = FIRDatabase.database().reference()
ref!.queryOrderedByChild("time")
.queryStartingAtValue(startTime())
.observeEventType(.ChildAdded, withBlock: { snapshot in
print("hello")
})
}
}
我的Android應用程序有下面的代碼,這確實被調用:
Query query = mDatabase.orderByChild("time").startAt((double)startTime());
query.addChildEventListener(new PostListener(this, mMap));
class PostListener implements ChildEventListener {
public PostListener(Context context, GoogleMap map) {
...
}
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.i(TAG, "hello");
...
}
}
更新: 我的錯誤是沒有意識到我已經初始化了mDatabase
(在android ve rsion)與路徑posts
。該修復只是初始化ref
與FIRDatabase.database().referenceWithPath("posts")
而不是FIRDatabase.database().reference()
。
startTime()是什麼樣子的? –
我將它設置爲零進行測試,並沒有幫助。 – lf215
什麼是ref?... – Dravidian