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

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

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

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

Q&A

解決済

1回答

2513閲覧

firestoreのデータは、1回1回参照するべきでしょうか?

退会済みユーザー

退会済みユーザー

総合スコア0

Firebase

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

0グッド

2クリップ

投稿2018/08/16 14:28

編集2018/08/17 14:43

ストーリーボード未使用で開発しています。

例えばですが

ビューAとビューBがあり、AからBへ遷移します。

ビューAではFirestoreのスナップショットでデータ"hoge"を参照して、その値をUILabelに渡します。

ビューBでもデータ"hoge"をUILabelに渡したいのですが、
ビューAからBへバケツリレーで値を渡すことで、データ"hoge"を受け取ることができると思います。

聞きたいこと

まだデータベースの事を分かっていないのでお聞きしたいのですが、
このバケツリレーだとデータベースの通信を節約できる、となりますか?

ビューBでもスナップショットを使えばfirestoreにあるデータが間違いなく参照できますが、これをビューCでもビューDでもと、1回1回参照するのではデータベースの通信を圧迫することになりますか?

データ"hoge"がもし大切なデータで、バケツリレーの時エラーが起きてデータが変わってしまったりすると大変なので参照の方が安全な気がします。

実際にどんな利用をされているのか、教えていただきたいです。

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

どの画面でも常にDBに保存されている最新の値を利用したいのなら、Firestoreのデータを直接参照するべきです。

Firestoreにはキャッシュ機能がありますので、同じ内容のクエリーに対して複数のリスナーを設定したとしても、通信を圧迫することはありません。

ビューBというのがビューAに表示していたデータを編集する画面とかであるなら、編集中にデータが勝手に更新されては困るので、その場合はバケツリレーで渡すのが適切かと思います。

投稿2018/08/21 06:50

kakajika

総合スコア3131

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

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

退会済みユーザー

退会済みユーザー

2018/08/21 08:10

kakajika様 ありがとうございます。 キャッシュ機能について知りませんでした。まさにお答え頂いた内容がお聞きしたかった内容でしたので、通信を圧迫しないことについて理解できました。 >>ビューBというのがビューA.. 私もその場合は変更前=最新となるのでバケツリレーで渡すのが良いと思っていました。 とてもわかりやすいご説明感謝します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問