メニュー
セール中のおすすめ商品

【SwiftUI】 Firebase で Firestore データベースからデータを取得

当ページのリンクには広告が含まれています。
  • URLをコピーしました!
動作環境
  • Xcode 13.2
  • Swift 5.5

SwiftUI に限ったことではないかも知れませんが、他の言語でも大差はないかと思います。

もくじ

Firestore.firestore() でデータベースへの参照を取得すれば簡単

// データベースへの参照を取得する
let db = Firestore.firestore()

// 特定のパスでドキュメントを読む
db.collection("todos").getDocuments { snapshot, error in
    
    // エラーをチェック
    if error == nil {
        // エラーなし
        
        if let snapshot = snapshot {
            
            // すべてのドキュメントを取得してTodoを作成します
            self.list = snapshot.documents.map { doc in
                
                // 返されたドキュメントごとにTodoアイテムを作成します
                return Todo(id: doc.documentID,
                            name: doc["name"] as? String ?? "",
                            notes: doc["notes"] as? String ?? "")
            }
        }
        
    }
    else {
        // エラーを処理
    }
}

Document の ID を取得するときは、documentID を使う

ドキュメントに対するdocumentIDは予めプロパティが用意されています。

一方でフィールドは Dictionary 型です。

おぐけん

ちなみにデータベース問い合わせはバックグラウンドでおこなわれるので、UI 更新が絡む際はDispatchQueue.main.asyncをお忘れなく。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
もくじ