Я хочу установить значение для моей переменной: «Имя пользователя» через Firestore. Как только это имя пользователя установлено, я больше не хочу звонить в Firestore. Это происходит потому, что каждый раз, когда пользователь открывает страницу профиля, он не вызывает Firestore каждый раз, а только при первом запуске.
Любые идеи?
Вот кусок кода, который я пытался использовать , но мне не удалось
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)
}
}