FirebaseFirestore имеет удобный способ кэширования отдельных документов:
Сначала необходимо указать документ по его идентификатору:
let key = UserDefaults.standard.value(forKey: "uid") as? String ?? "Null" // Unique user key
let docRef = db.collection("user").document(key)
Получить документ:
docRef.getDocument { (document, error) in
if let document = document, document.exists {
let docData = document.data()
// Do something with doc data
} else {
print("Document does not exist")
}
}
Доступ к данным документа:
let status = docData!["phone"] as? String ?? ""