如何使用 FirebaseFirestoreSwift 修复 Swift 中函数上的“传递给不带参数的调用的参数”?

Sha*_*nes 5 swift google-cloud-firestore

func fetchUser() {
  guard let uid = userSession?.uid else { return }

  Firestore.firestore().collection("users").document(uid).getDocument { snapshot, _ in
    guard let user = try? snapshot?.data(as: User.self) else { return }
    self.currentUser = user
 }
}
Run Code Online (Sandbox Code Playgroud)

该错误在“guard let user”行上引发。关于如何修复此错误有什么想法吗?另外,我没有使用 Cocoapods ...我正在使用 github sdk 中的 Firebase

wor*_*dog 0

您似乎缺少“文档”步骤,您可以尝试这样的操作:

func fetchUser() {
    guard let uid = userSession?.uid else { return }
    
    Firestore.firestore().collection("users").document(uid).getDocument { snapshot, _ in
        guard let docs = snapshot else { return }
        for doc in docs.documents {
            let user = doc.data(as: User.self)
            self.currentUser = user
            // break as required or just get the first in documents
        }
    }
}
Run Code Online (Sandbox Code Playgroud)