Я пытаюсь получить количество документов в определенной коллекции. Я получаю его через снимок, так как он дает мне правильный номер. Но когда я хочу вернуть его через мою функцию, он возвращает 0
.
Затем я попытался выполнить консольную печать, и похоже, что возвращаемое значение сначала печатается (1
), затем возвращается и печатает значения внутри запроса, где мой второй статус печати (2
) ). Как я могу заставить его вернуть правильное (или snapshot.count
значение)?
Мой счетчик объявлен в начале ViewController
следующим образом:
var counter: Int = 0
Вот мой код:
func checkDayNumber() -> String {
let ref = db.collection("Users").document(Auth.auth().currentUser!.uid).collection("startDay").getDocuments { (snapshot, error) in
if error != nil {
print("Error getting documents for checking number of days")
} else {
print(snapshot?.count)
if let count = snapshot?.count {
self.counter = count
print(self.counter) (2)
}
}
}
print(counter) (1)
return String(counter)
}
Консоль:
0
2