0

私がやろうとしているのは、特定の親 ID に属する子供を取得するgetParentChildren()ことです。それを行う必要があります。

以下のコードを見てください

@Published var parentChildrenList:[Child] = []
func getParentChildren(){
        let db = Firestore.firestore()
        db.collection("Child").whereField("ParentID1", isEqualTo: "Dcjn3gomnde4G7POpDnlqKPHFZQ2").getDocuments
      { snapshot, error in 

            // Check for errors
            if error == nil {
                // No errors

                if let snapshot = snapshot {



                        self.parentChildrenList = snapshot.documents.map { d in
                          let Parentchildren = Child(
                                id: d.documentID,
                                email:d["Email"]as? String ?? "",
                                name: d["name"]as? String ?? "",
                                ParentID1: d["ParentID1"]as? String ?? "",
                                ParentID2: d["ParentID2"]as? String ?? ""
                            )
                  print(Parentchildren.name)
                  return Parentchildren
                        }
                }
            }
            else {
                //error
            }
        print(self.parentChildrenList.count)
        }
    }// end getParentChildren

getParentChildren()onAppearで呼び出したいSwiftUIのビューコードは次のとおりです

.onAppear {
            viewModel.getParentChildren()
            print("\(viewModel.parentChildrenList.first?.name)" + "hi")
        }

問題は、最初に nilhi を出力することです。 print("\(viewModel.parentChildrenList.first?.name)" + "hi")

次に、からのAseelooである子供の名前を出力しますprint(Parentchildren.name)

その後、配列の数を出力します-> print(self.parentChildrenList.count)

私が望むのは、最初から子の名前のみを出力することです.なぜそれは私に nil を与えるのですか?

4

0 に答える 0