我正在开发一个使用GeoFire的应用程序,仅从距离用户位置10公里半径的Firebase获取数据。然后填充CollectionView。
问题:
当互联网速度很慢时,它会加载没有数据的CollectionView。可能是因为移动设备没有时间来获得准确的用户位置。
我在ViewDidLoad()中有我的fetchData()函数。
如何在用户位置完成后才能执行fetchData()函数?
所需流程:
- 启动应用程序
- 获取用户位置
- 仅在获取用户位置后填充CollectionView数据
- 加载CollectionView
答案 0 :(得分:0)
将您的获取数据功能放在ViewDidLoad
之外func fetchData(){
etc.
}
在位置出现时调用它:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
guard let location = manager.location else {return}
etc.
fetchData()
}