gpt4 book ai didi

ios - Swift 中的这段 Google Maps iOS SDK 代码有什么作用?

转载 作者:搜寻专家 更新时间:2023-10-31 22:59:15 25 4
gpt4 key购买 nike

我正在学习 raywenderlich.com 上关于使用 Google Maps iOS SDK 的教程。我在这个链接的中途看到了这段代码:https://www.raywenderlich.com/109888/google-maps-ios-sdk-tutorial .

我熟悉 Swift,但我不明白 geocoder.reverseGeocodeCoordinate(coordinate) 之后的代码是做什么的;具体来说,您如何才能将大括号放在方法调用之后,它会完成什么?我是根据 Swift 语法来问这个问题的。

func reverseGeocodeCoordinate(coordinate: CLLocationCoordinate2D) {

// 1
let geocoder = GMSGeocoder()

// 2
geocoder.reverseGeocodeCoordinate(coordinate) { response, error in
if let address = response?.firstResult() {

// 3
let lines = address.lines as! [String]
self.addressLabel.text = lines.joinWithSeparator("\n")

// 4
UIView.animateWithDuration(0.25) {
self.view.layoutIfNeeded()
}
}
}
}

最佳答案

它被称为 trailing closure .尾随闭包是写在函数调用的括号之外的闭包表达式。

这里唯一的要求是闭包必须是函数的最终参数。

给定以下函数,这两个调用是相同的:

func someAPICall(url: String, completion: (Bool -> Void)) {
// make some HTTP request
completion(result.isSuccess)
}

someAPICall("http://httpbin.org/get") { success in
print("Success", success)
}

someAPICall("http://httpbin.org/get", completion: { success in
print("Success", success)
})

关于ios - Swift 中的这段 Google Maps iOS SDK 代码有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39313732/

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