我正在使用Firebase云存储,并且在这个问题上停留了几天,在那里,当我将闭包放入函数中时,该函数在闭包之前返回。我已经进行了研究,发现此问题可以通过完成处理程序解决,但是我真的不明白它们的工作原理以及在这种情况下如何使用它。
我曾尝试过延迟某个问题,但并非在所有情况下都有效。
private func accessCodeExists(accessCode: String) -> Bool{
var exists: Bool = false
let docRef = self.db.collection("Access Codes").document(accessCode)
docRef.getDocument { (document, error) in
if let document = document, document.exists {
print("exists")
exists = true
} else {
print("Document does not exist")
exists = false
}
}
return exists
}