質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

2669閲覧

Firebase Swift 最初に50件のデータを取得した後、次の50件の取得の仕方が分からない

taaboo

総合スコア12

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/03/01 01:11

Swift3 Firebase
最初にtableviewへ50件のデータをロードして、
tableviewを50件目までスクロールした時に次の50件をロードしたいのですが
いろいろ調べているのですが、分かりません。
独学で学んでる初心者です。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

実際に50個のデータを入力して試したところ,Firebaseは賢く振舞っていました。
1度に10〜15個のデータを読み込み、スクロールすると次の10〜15個のデータを
読み込んでいました。

投稿2017/03/08 07:04

taaboo

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NobumitsuHata

2017/09/14 10:04

僕も今困っていて、ぜひコード見せて頂きたいのですが!
guest

0

どのへんが分からないのかもう少し記載いただけないと、ジャストフィットな回答はできないのですが、
Firebaseの方のコードがわからないのであれば、公式ドキュメントに100件ずつ返すサンプルコードがあるので、
そのあたりを試して見てはいかがでしょうか。

【公式ドキュメント】
https://firebase.google.com/docs/database/ios/retrieve-data#filtering_data

それともTableViewの使い方の疑問でしょうか。

【uitableviewで読込中indicatorを表示する方法メモ】
http://kimagureneet.hatenablog.com/entry/2017/01/05/061539

投稿2017/03/01 06:31

kanemotos

総合スコア163

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taaboo

2017/03/01 07:44

お答えありがとうございます。 記載が少なくて済みませんでした。 1000件のデータがあるとして1度に1000件のデータをロードするのではなく 最初に最近の50件取得し、50件までスクロールしたら、Twitterの様に次の50件を読み込む 仕方が分からなくて困っています。 queryLimited(toFirst: 50)を使って最近の50件は取得できています。 宜しくお願い致します。
kanemotos

2017/03/01 09:02 編集

なるほど、疑問ポイントがわかりました。 読み込み数をloadLimit=50などのように変数で持っておいて、下までスクロールした際に50ずつ足して、queryを投げ直す方法ではいかがでしょうか。 Firebaseはデータを取得するのではなく、変更イベントがあったらwithBlock内の処理を動かすことに特化しているライブラリなので、51〜100番目を取ってくると言った処理はしなくていいよ、っていう設計思想なんだと思います。 最初は1〜50を取ってきて、次は1〜100、その後は1〜150番目を取ってくるという風な感じですね。
taaboo

2017/03/01 09:34

そうです。 firebaseを使ったチャットアプリのsample codeは 一杯ありますが、その辺の事を記載されてるの 見つかりませんでした。 宜しくお願い致します
kanemotos

2017/03/01 09:40

上記でヒントを書いたつもりなので、そのようにコードを書いてみてはいかがでしょうか? さすがにジャストなサンプルコードは私も知らないです〜。
taaboo

2017/03/01 10:15

独学で学んでるため 参考になるコードをいじり廻しながら アプリを作っています。 いろいろありがとうござました。 もう一つだけ質問していいでしょうか? 1万件のデータがあるとすると firebaseでいっきに全てを読み込む事は現実的なのでしょうか?
kanemotos

2017/03/01 12:44

Firebaseはまだまだ日本語によるサンプルがパターン少ないので、つらいですよね。 私は英語で解説しているYouTubeやブログまで読む感じに行き着きました。 ご質問の件ですが、手っ取り早くお試し実装するなら全然ありだと思います。 1回やってみて、描画にどれくらいの時間がかかるのか見てみるのが良いと思います。 ただ、本格的にアプリ開発するなら1万件というとあまり現実的ではないと思います。 おそらく画面が数秒〜数十秒描画されない現象に陥って、アプリのUI的にイケてないものになるんじゃないかと心配してしまいます。 もし一瞬で表示されるならいいんじゃないでしょうか。 (そのあと、気にすべきなのはユーザーのモバイル通信速度の違いとデータ通信量が多くなりすぎないかですかね。) あと、アプリを使う人が1回にどれくらいの情報を見たいのかが大事なんだと思います。 1万件見るのに100スクロールくらいしないと見れないのであれば、そんなにユーザーはスクロールしないですよねって判断になるんではないかと思っています〜。
taaboo

2017/03/01 21:37

私の質問にお時間を使って頂きありがとうございました。 私も、YouTube,海外ブログ、Udemy(英語)等を見ています。 現実的に私のアプリに1万件、投稿があれば嬉しい限りです。 現在 製作しているアプリは Table Cellにいろいろ仕込んでいるので 100件のデータでもロードするのに時間が掛からないか心配で ある程度の数のデータを指定して読み込み、スクロールしたら 再読み込み出来ないかと思っています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問