Swift-Firestore
スポンサーリンク

バックエンドを簡単に実装できるFirebaseですが、この記事ではその中でもデータベースの機能を持つFirestoreの使い方をまとめておきます。

Firebaseでのアプリそのもののプロジェクトの作成や、開発環境(Podfileへポッドの追加)がまだの方は公式サイトを参考に済ませておきましょう。

 

Firestoreの初期化

では早速iOSアプリにFirestoreを導入していきます。

まずはAppDelegate.swiftにFirestoreのインスタンスを生成します。

AppDelegate.swift

追記するのは以下のコードです。

 

Firestoreにデータを保存(=コレクションとドキュメントの作成)

上記を済ませると早速Firestoreが使えるようになります。

まずは、保存したいデータをドキュメントに保存します。

 

Firestoreの構造(コレクション/ドキュメント/フィールド等)

まずはFirestoreの中身がどういう作りになっているのか説明します。

Firestore

保存したいデータはドキュメントに保存されますが、ドキュメントはコレクションの中にまとめられています。上の画像のようなイメージです。

データを初めてドキュメントに追加すると、自動(暗黙)的にコレクションとドキュメントが作成されます。

Database

Firebaseのコンソール画面(↑画像)で確認すると、

  • コレクション:users
  • ドキュメント:oNsR6mGgYVYpi0YrzXi7rUvIO0Y2

が作成されているのがわかります。

また、画面右側の「emailAdress」、「userName」などはキー値と呼ばれ、キー値が示す「"1"」などはvalueと言います。

キー値とvalueのセットはフィールドと呼ばれます。

 

Firestoreにデータを保存するコード

以下のコードで保存したいデータをFirestoreに収めることができます。同時に、コレクションとドキュメントを作ることにもなります。

 

例えば私の場合は、

コードの具体例

このように定数userIDにAuthの.uidを代入し、それ(userID)をドキュメント名にしています。(画像90行目)。

こうすることで上のFirebaseのコンソール画面の画像のようにドキュメント名がAuthの.uidと同じになります。

 

新しいドキュメントを既存コレクションに追加する

 

先ほどはなかったフィールド「"ZZZ": "zz"」を含めたデータを別のドキュメントを作って保存できます。

 

Firestoreのデータを取得

様々なデータの取得方がありますが、一つずつ見ていきます。

 

コレクション全体を取得

データをfirestoreに保存したら、そのデータをアプリ側で取得できます。以下は、コレクション全体を取得する際のコードです。

 

特定のドキュメント/フィールドを取得する

コレクション全体ではなく、コレクションの中から特定のドキュメントあるいは特定のフィールドを取得することもできます。(公式サイト)

例えば私の場合は、

Swiftコード

111行目db.corection("users")でコレクションを指定し、.whereField("emailAddress", isEqualTo: emailText2).getDocuments()で、キー値"emailAddress"に対応するValueが、ユーザーの入力したアドレス(変数emailText2に代入されている)と等しいドキュメントを指定できます。

さらに、その下で
let data = document.data()
let value = data["emailAddress"]

これにより、指定したドキュメント内でキー値"emailAddress"で保存されている値を取得(定数valueに代入)できます。

Swift(iOS)が学べるオンラインスクール ランキング
CodeCamp
CodeCamp
7〜24時まで授業可能で働きながらでも学べる!!
料金
講師の質
コースの種類
転職サポート
ポイント1エンジニア経験2年以上のベテラン講師によるオンライン授業
講師は全員が現役のエンジニアで、他のスクールによく見られるアルバイト講師ではありません。マンツーマン指導で自分のレベルにあったカリキュラムが組め、満足度も高いです。また、自社開発企業への転職指導にも定評があります。

ポイント2無料レッスン体験&無料受講相談で事前に話が聞ける
事前にレッスンを体験して授業の雰囲気や学習ペースを確認できます。またエンジニア転職を目指す方にはどのコースが向いているかなどが聞けるカウンセリング(受講相談)も無料。エンジニアの生の声が聞けるので自分が働き出した時のことをイメージできます。

TechAcademy

授業型ではなく自習型なので自分のペースで学べる
料金
講師の質
コースの種類
転職サポート
ポイント1自習スタイルでチャット質問は何回でも無料
自分の分からないところを質問するスタイルなのでわかるところはサクッと、わからないところはじっくりと、無駄なく学べます。チャットの質問が無料なので、料金を気にせず何回でも聞けます。また、メンターがつくのでカウンセリングで学習の進捗やモチベーションの管理もしてくれます。
ポイント21週間の無料体験と無料カウンセリング、安心の返金制度も
無料体験の期間は1週間もあり、納得してから契約できるので安心です。事前の無料カウンセリングでは、その人にあったアドバイス等をもらうことができるので気軽に活用しよう。転職保障コースの場合、転職できなかったら全額返金!!
侍エンジニア塾
プログラミングスクールの老舗NO.1
料金
講師の質
コースの種類
転職サポート
ポイント1歴史があるからノウハウも豊富
日本で初めてオンラインのマンツーマンレッスン指導を導入した実績十分のスクール。講師も現役エンジニアでメンタリングもあるため転職のサポートも手厚く、面接対策や自己PRのフィードバックまで対応してくれます。

ポイント2転職成功率94.1%、挫折率8%
コースによっては転職成功で受講料が0円に!!  絶対にエンジニアになりたいという意思があれば超低額で転職できます。事前の無料体験で相談も可能なため、まずは話だけ聞いてみるのもあり。

おすすめの記事