I want to set a value to my variable: "Username" via Firestore. Once that Username value is set, I don't want to call to Firestore anymore. This is that so everytime the user opens the profile page it is not calling to Firestore every time, just the first time its initiated.
Any Ideas?
Heres a piece of code I tried using, but I was unsuccessful
var username = ""
func callToFirestore () {
if username == "" {
//If username has not value - set a value grabbed from Firestore
guard let uid = Auth.auth().currentUser?.uid else { return }
let database = Firestore.firestore().collection("Users").document(uid)
database.getDocument { (docSnapshot, error) in
guard let docSnapshot = docSnapshot, docSnapshot.exists else {return}
let mydata = docSnapshot.data()
let username = mydata!["Username"] as? String ?? ""
self.username = username }
} else {
//If username != "" (meaning it has a value) - print the username
print(username)
}
}