2017-08-16 7 views
0

私はfirebaseからの投稿を取得するアプリケーションを開発中です。問題は、最初の20の投稿を検索してテーブルに表示することです。ユーザーが次のボタンをクリックすると、次の20件の記事が検索されて表示されます。ファイアベースの限定されたデータを照会

私はfirebaseは、次の方法に

  1. を提供して知っているqueryLimitedToFirst
  2. queryLimitedToLast
  3. queryStartingAtValue
  4. queryEndingAtValue
  5. queryEqualToValue

しかし、どのように、私は一緒にトンでそれらを使用しますo私が望むような望ましい結果を取得する?ここで

は、私が持っているデータの構造です:

enter image description here

+0

https://stackoverflow.com/search?q=%5Bfirebase-database%5D%5Bswift%5D+pagination –

答えて

0

あなたは(私は通常、タイムスタンプを使用して)いくつかのプロパティでクエリを注文する必要があります。これにより、最新から最古のオーダーが整理されます。あなたはそれらを持っている場合は、あなたがそれらを制限する必要があり命じ:

queryOrdered(byChild: "timestamp").queryLimited(toLast: UInt(limit))

あなたは私たちが好きな番号に結果を制限することができます見ることができるように。これを使用して、毎回あなたの投稿を読んで20件の結果をもっと見ることができます。 初めて制限時間20、次回制限時間40などで呼び出すと、前の呼び出しで既に返された投稿が返されることに注意してください。

代わりにqueryStartingAtValueと組み合わせて最後の投稿tiemstampを使うことができます。これは以前の結果をスキップし、必要な投稿を20件だけ返します。

これは単なるアイデアですが、期待どおりに動作するはずです。

関連する問題