TR; DR - вот как вы читаете Int из Firestore.
let age = doc.get("age") as? Int ?? 0
Более длинный ответ: я бы предложил изменение.
Непонятно, почему вы запрашиваете узел пользователей по uid. Другими словами, использование uid пользователя в качестве идентификатора документа
users
uid_0
totalPoint: 0
username: "cbaden"
значительно упростит задачу.
let userDoc = collectionRef.document("uid_0")
userDoc.getDocument(completion: { document, error in
if let err = error {
print(err.localizedDescription)
return
}
guard let doc = document else { return }
let age = doc.get("age") as? Int ?? 0
print(age)
})
Также обратите внимание, что я использую объединение nil оператор для защиты моего кода. В случае, если у документа нет свойства 'age', это вызовет sh
document?.get("age")
, тогда как этому
document?.get("age") as? Int ?? 0
присвоено значение 0 в case 'age' отсутствует.