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

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

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

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

Swift

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

Q&A

解決済

1回答

1063閲覧

Swift4×Firestoreでフォローフォロワー機能を実装し、タイムラインの投稿をフィルタリングしたい。

退会済みユーザー

退会済みユーザー

総合スコア0

Firebase

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

Swift

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

0グッド

5クリップ

投稿2017/11/16 13:40

編集2017/11/16 13:53

###前提・実現したいこと
Firestoreを使ってiOSアプリを作成しています。
アプリの機能としてはインスタグラムのように投稿ができて、フォロー&フォロワーがあるものを考えています。

そこで現在困っているのは、フォローとフォロワー機能の実装についてです。

イメージ説明

現在はフォローされたユーザーと、フォローをしたユーザーそれぞれのドキュメントを編集することでフォローする機能を実装することができました。

これによってユーザーのフォロー&フォロワー一覧を取得することはできたのですが、肝心のタイムラインにおいて、フォローしているユーザーの投稿だけを時系列順に表示する方法がわかりません...

whereFieldで一人のユーザーの投稿を取得するならイメージがつき、実装もできたのですが、フォローしているユーザー複数人の投稿を取得する方法になるとさっぱりです。

なにか有効な方法があれば是非ご教授いただきたいです。
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

一番シンプルな方法は,同時に同じ内容の書き込みを複数箇所にする,
つまりフォローしている全員分の投稿一覧を,各ユーザ毎に保存してしまうことです.
そうすることで,あとは単に取得して表示するだけになります.
realtime databaseで有用な方法でしたが,もちろんFirestoreでも有用です.むしろFirestoreのほうが価格も非常に安く,より積極的に利用していくべき手法でしょう.

Firebase Japan User Group
https://firebase.asia/

投稿2017/11/16 14:07

編集2017/11/16 14:14
Yatima

総合スコア1159

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

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

退会済みユーザー

退会済みユーザー

2017/11/16 14:19

お忙しいところご回答いただきありがとうございます!各ユーザ毎に保存してしまうというのは、投稿時に同時に複数の箇所に保存するということでしょうか...?
退会済みユーザー

退会済みユーザー

2017/11/16 14:34

なるほど...知らない機能・方法がたくさんありますね...ありがとうございます!ちなみに新しくフォローしたユーザーの投稿を取得するために、そのユーザーの今までの投稿をそっくり持ってきちゃう良い方法はありますか???
Yatima

2017/11/16 14:58

おお,いいご質問ですね. もしやるのであれば,その人だけの投稿一覧から持って来て足すのがいいでしょうね.どうせ各ユーザのページではその人だけの投稿を表示するでしょうし.
退会済みユーザー

退会済みユーザー

2017/11/16 15:47

なるほどありがとうございます!Slackにも参加させていただきました。今後ともよろしくお願いいたします!
Yatima

2017/11/17 02:34

こちらこそよろしくお願いします. ついでにこの回答に高評価も入れていただけると大変喜びますw
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問