【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("削除するデータが存在しません。")
                    }
                }
            }
        }
    }