我正在开发一个应用,它使用 GeoFire 仅从距用户位置 10 公里半径范围内的 Firebase 获取数据。然后填充 CollectionView。
问题:
当互联网速度较慢时,它会加载没有数据的 CollectionView。可能是因为移动设备还没有时间获得准确的用户位置。
我的 fetchData() 函数位于 ViewDidLoad() 内。
如何才能仅在用户定位完成后才执行 fetchData() 函数?
所需流量:
- 启动应用程序
- 获取用户位置
- 仅在获取用户位置后才使用数据填充 CollectionView
- 加载CollectionView
最佳答案
将获取数据函数放在 ViewDidLoad 之外
func fetchData(){
etc.
}
当位置到达时调用它:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
guard let location = manager.location else {return}
etc.
fetchData()
}
关于swift - 仅在获取用户位置后获取 Firebase/Geofire 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48083667/