gpt4 book ai didi

swift - UITableView重新加载数据循环

转载 作者:行者123 更新时间:2023-11-30 11:17:40 27 4
gpt4 key购买 nike

在我的应用中,我根据用户的位置更新 UITableView。我在 CLLocationManagerDelegate 内执行此操作。现在,发生的情况是我的 UITableView 将继续重新加载,因此不会绘制任何内容。当我注释掉 reloadData() 调用时,一切都很好(当然没有位置)。当我将其添加回来时,print() 会执行一次。之后,表格不断重新加载。

extension RestaurantsViewController: CLLocationManagerDelegate {
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if (locations.count > 0) {
if (location?.coordinate.longitude != locations[0].coordinate.longitude && location?.coordinate.latitude != locations[0].coordinate.latitude) {
location = locations[0]
print("will reload table")
self.tableView.reloadData()
}
}
}
}

有什么想法可以解决这个问题吗?

最佳答案

一旦找到您的位置,您就需要停止更新它。重新加载 tableView 后添加此 manager.stopUpdatingLocation()

extension RestaurantsViewController: CLLocationManagerDelegate {
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
if (locations.count > 0) {
if (location?.coordinate.longitude != locations[0].coordinate.longitude && location?.coordinate.latitude != locations[0].coordinate.latitude) {
location = locations[0]
print("will reload table")
self.tableView.reloadData()
manager.stopUpdatingLocation()
}
}
}
}

关于swift - UITableView重新加载数据循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51592741/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com