【发布时间】:2021-07-27 22:50:18
【问题描述】:
我有一些代码可以在自定义加载屏幕上从 Firebase 读取数据,我只想在读取集合中的所有数据后进行 segue(我事先知道不会超过 10 或 15 个数据要阅读的条目,我正在检查以确保用户有互联网连接)。我有一个我想实现的加载动画,它通过调用activityIndicatorView.startAnimating() 开始并通过调用activityIndicatorView.stopAnimating() 停止。我不确定在哪里放置这些或与数据检索功能相关的执行 segue 功能。任何帮助表示赞赏!
let db = Firestore.firestore()
db.collection("Packages").getDocuments{(snapshot, error) in
if error != nil{
// DB error
} else{
for doc in snapshot!.documents{
self.packageIDS.append(doc.documentID)
self.packageNames.append(doc.get("title") as! String)
self.packageIMGIDS.append(doc.get("imgID") as! String)
self.packageRadii.append(doc.get("radius") as! String)
}
}
}
【问题讨论】:
-
使用完成块。
-
我没用过,能详细点吗?
-
Firebase 是异步的 - 这意味着数据从 Firebase 服务器到达需要时间。 Firebase 函数使用 closures - 这是调用后的括号 {} 中的部分。 Firebase 数据在在该闭包内有效,因此如果您想在 Firebase 数据到达后采取行动,那就是这样做的地方。请记住,FIrebase 速度非常快——即使是大型数据集,所以您可能不需要该进度指示器,因为它不会显示足够长的时间以产生任何影响。 (一般来说)
-
知道了,感谢您的见解!
标签: ios swift firebase google-cloud-firestore