Firebase

【Swift】FirestoreにDataを追加してみる

こんにちは、株式会社PlaygroundのiOSエンジニア伊原です!

これまでFirebase のRealTime DBを使ってきましたが、

先日Firestoreを使った実装をしたのでその時の記録をしておきます。

今回はCreateをしてみます。

とりあえずコード載せます。

pod で ‘FirebaseFirestore‘ をinstallし、importします。

UserModelにAutoIdでUserを作成し、

各Userに “name” と “mail” というプロパティを持たせています。

UserModel

import UIKit
import FirebaseFirestore

class UserModel {
    var name: String = String()
    var mail: String = String()
}

extension UserModel {
    static func setParameter(request: UserModel) -> [String: Any] {
        var parameter: [String: Any] = [:]
        parameter["name"] = request.name
        parameter["mail"] = request.mail
        return parameter
    }
}

extension UserModel {
    static func create(request: UserModel,success:@escaping () -> Void) {
        let param = setParameter(request: request)
        let dataStore = Firestore.firestore().collection("users").addDocument(data: param)
        dataStore.setData(param) { (error) in
            if error != nil {
                print(error)
            }
        }
    }
}

解説していきます。

21行目で、”users”コレクションにautoIDでドキュメントを追加しています。

これがUserのuidになります。

setParameter関数でModelのプロパティを辞書型に格納したものを、

setData関数に渡すことでuidの子要素に”name”や”mail”を追加しています。

呼び出し方

任意の場所で以下を呼ぶと新しくuserを作成し、

プロパティを追加してくれます。

ViewController.swift

let userModel = UserModel()
userModel.name = "ihara"
userModel.mail = "example@test.com"
UserModel.create(request: userModel) {
    //成功した時の処理
}

 

実行結果こんな感じ。

 

今回は以上です。

間違いなどありましたらコメントお願いします!

ABOUT ME
伊原 萌夏
スクール担当 兼 iOS(時々Web)エンジニア。 2019年7月に大学を一年半で辞め、大学とは別で勉強していたプログラムの世界で生きていくことを決意。翌月8月に入社。 主にSwiftのスクールを担当。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA