【SwiftUI】Firestoreに保存されたデータの削除
① Firestoreに保存されているデータを削除
TestFirebase/DataModel.swift
func deleteData(id: String) { let db = Firestore.firestore() db.collection("testDatas").document("\(id)").delete() { error in if let error = error { print("データの削除に失敗しました。\(error)") return } print("データの削除に成功しました。") } }
② 表示されている内容を変更(配列から削除したデータを取り除く)
TestFirebase/DataModel.swift
init() { let db = Firestore.firestore() db.collection("testDatas").addSnapshotListener { (snap, error) in if let error = error { print("データの読み込みに失敗しました。\(error)") return } if let snap = snap { for i in snap.documentChanges { if i.type == .added { // 省略 } else if i.type == .removed { let id = i.document.documentID for j in 0 ..< self.testDatas.count { if self.testDatas[j].id == id { self.testDatas.remove(at: j) return } } print("削除するデータが存在しません。") } } } } }