ios - 为什么打印语句没有按正确的顺序执行??我疯了还是Xcode?

标签 ios swift google-cloud-firestore

出于某种我无法弄清楚的原因,最后一个打印语句在第二个打印语句 (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/

相关文章:

android - Opa 可以用于手机和平板电脑开发吗?

javascript - 如何为 iOS/Android 创建 Web View ?

ios - SwiftUI 中 UIView readableContentGuide 等价物是什么

firebase - 了解 Firestore 定价

javascript - 使用 firebase 身份验证和 firestore 添加用户

firebase - Firestore - 云功能 - 获取 uid

ios - 解析今日扩展 "Mach-O Linked Error"

Swift 添加粘贴操作 UITextField 的目标

ios - swift 4/firebase super 简单的读/写。无法阅读

swift - 为什么不在 Swift 中使用可选值?