動作環境
- Xcode 13.2
- Swift 5.5
もくじ
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
をお忘れなく。