【问题标题】:Firestore data loads every time when moving to different view controllers每次移动到不同的视图控制器时都会加载 Firestore 数据
【发布时间】:2019-07-15 08:50:18
【问题描述】:
func loadUserThings() { 


        Firestore.firestore().collection("users").document((Auth.auth().currentUser?.uid)!).getDocument { (snapshot, error) in
            if let document = snapshot {
                var data = document.data()
                self.nameLabel.text = data?["username"] as? String ?? ""
                self.usernameLabel.text = data?["username"] as? String ?? ""
            }
    }

}

上面的函数是在视图控制器的viewdidLoad()中调用的。

我正在从 Firebase Firestore 中检索数据。当我在视图控制器之间移动或打开应用程序时,标签会再次加载。数据正在缓存,因为我可以在没有互联网的情况下看到它,但即便如此,加载也需要时间。

每次在标签中加载 Firestore 数据

【问题讨论】:

  • 你有没有调试过,每次你得到不同的数据,因为我可以看到你在故事板中设置的加载默认值。你有没有在故事板标签中发送任何静态数据?
  • 是的。我在情节提要中设置了静态数据。它首先加载情节提要值,然后加载 Firestore 值。我什至尝试删除故事板值,但它做同样的事情。
  • 你能发布你的 Firestore 获取数据的代码吗?
  • 是的@CodeChanger。我更新了问题。
  • 从服务器获取数据需要一些时间来获取数据,并且在这段时间内显示Welcome并且不显示情节提要中的默认值将解决您的问题。

标签: ios swift xcode firebase google-cloud-firestore


【解决方案1】:

当您使用 Firestone 的 getData 函数时,会发生这种情况。 使用快照侦听器将消除此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    相关资源
    最近更新 更多