出于某种我无法弄清楚的原因,最后一个打印语句在第二个打印语句 (doc.data()) 之前执行。任何帮助将非常感激。对于某些上下文,我正在尝试从 firestore 查询数据并将其中一些数据保存在用户对象中。那么为什么这些打印语句以错误的顺序执行。
let db = Firestore.firestore()
guard let uid = Auth.auth().currentUser?.uid else { return }
print("hello world")
db.collection("users").whereField("uid", isEqualTo: uid).getDocuments() { (querySnapshot, error) in
if let error = error {
print("Error finding user: \(error)")
} else {
for document in querySnapshot!.documents {
print(document.data())
}
}
}
print("Am I crazy or is Xcode?")
最佳答案
仔细观察您的日志。 来自 firestore 的响应是异步的。 可能您的日志如下所示:
Hello World
是我疯了还是 Xcode 疯了?
用户 1
用户2
用户 3
关于ios - 为什么打印语句没有按正确的顺序执行??我疯了还是Xcode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59699137/