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

这是我想调用 onAppear 的 SwiftUI 的视图getParentChildren()代码

.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