我要做的是检索属于特定父 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 ?