ограничить / уменьшить количество операций чтения в Firebase Firestore - Swift - PullRequest
1 голос
/ 26 апреля 2020

Я хочу установить значение для моей переменной: «Имя пользователя» через 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)
        }
    }
...