【发布时间】:2021-11-13 15:05:58
【问题描述】:
所以我试图从 Firestore 的特定集合中获取所有文档,但是在单步执行代码时,它跳过了该行并且不会引发错误。我在我的应用程序的其他部分成功使用了完全相同的代码,但由于某种原因它在这里不起作用?任何帮助将不胜感激。
func getClientEmail() -> String? {
var clientEmail: String?
self.db.collection("Clients").getDocuments() { (querySnapshot, err) in
if let err = err {
print("error getting docs: \(err)")
} else {
for document in querySnapshot!.documents {
let result = Result {
try document.data(as: User.self)
}
switch result {
case .success(let client):
if let client = client {
if client.placementIDs[0] == self.user?.placementIDs[0] {
clientEmail = client.email
}
} else {
print("Document doesn't exist")
}
case .failure(let error):
print("Error decoding user: \(error)")
}
}
}
}
return clientEmail
}
经过一些测试,我将这段代码移到 viewDidLoad() 函数中并且它工作了......所以我认为它在被包装在一个函数中但不知道为什么,希望这些信息对你有所帮助任何能够解决此问题的人。
【问题讨论】:
标签: ios swift firebase google-cloud-firestore