gpt4 book ai didi

ios - 如何在数据加载之前延迟解析这些所需的变量?

转载 作者:行者123 更新时间:2023-11-29 01:43:29 25 4
gpt4 key购买 nike

我正在从用于在 tableView 中显示信息的 google places api 检索纬度和经度坐标。 tableView 结果基于这些坐标。我在下面的函数中将坐标解析到 tableView,但是在检索坐标之前 TableViewController 被推送。如何延迟推送直到坐标数据通过?谢谢。

func placeSelected(place: Place) {
println(place.description)

var lat = 0.0
var lng = 0.0

place.getDetails { details in

lat = details.latitude // Convenience accessor for latitude
lng = details.longitude // Convenience accessor for longitude
}

let locationData = self.storyboard?.instantiateViewControllerWithIdentifier("TableViewController") as TableViewController

locationData.searchLat = lat
locationData.searchLng = lng

self.navigationController?.pushViewController(locationData, animated: true)

}

最佳答案

您可以从 getDetails 方法的完成闭包实例化并推送您的 TableViewController。

func placeSelected(place: Place) {
println(place.description)

place.getDetails { [weak self] details in
let lat = details.latitude // Convenience accessor for latitude
let lng = details.longitude // Convenience accessor for longitude

if let self = self, locationData = self.storyboard?.instantiateViewControllerWithIdentifier("TableViewController") as? TableViewController {
locationData.searchLat = lat
locationData.searchLng = lng

self.navigationController?.pushViewController(locationData, animated: true)
}
}
}

这假设闭包是在主线程上调用的。

您可能希望在 getDetails 方法运行时显示某种事件指示器。

关于ios - 如何在数据加载之前延迟解析这些所需的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32164213/

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