LoginSignup
28
11

More than 3 years have passed since last update.

FirebaseFirestoreSwiftを使ってみる

Last updated at Posted at 2019-10-29

公式の方法でFirestoreでCodable #firebase #firestore #codable

こちらの記事でFirebaseFirestoreSwiftを知りました。ありがたや😇
現時点(2019/10/30)FirebaseFirestoreSwiftはバージョン0.2ですが、今後使う人も増えるかなとコピペで動作確認できるようまとめました。

■FirebaseFirestoreSwiftとは
Firestoreのデータのデコード・エンコードをらくらくに。
https://cocoapods.org/pods/FirebaseFirestoreSwift

■ Firestoreのようす
image.png

■ デコードのようす

struct User: Codable, Equatable {
    var name: String
}
import FirebaseFirestore
import FirebaseFirestoreSwift

...

func set() {
    let user: User = User(name: "tsubasa")

    let db: Firestore                = Firestore.firestore()
    let encodedUser: [String : Any]  = try! Firestore.Encoder().encode(user)
    db.collection("users").document("hoge").setData(encodedUser)
}

func get() {
    let db: Firestore             = Firestore.firestore()
    let docRef: DocumentReference = db.collection("users").document("hoge")
    docRef.getDocument { (document, _) in
        if let document = document, document.exists {
            let user = try? Firestore.Decoder().decode(User.self, from: document.data()!)
            // あとは煮るなり焼くなり
        } else {
            print("Document does not exist")
        }
    }
}
28
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
11