【发布时间】:2016-08-08 00:15:30
【问题描述】:
我想编写一个函数来对位置进行反向地理编码并将结果字符串分配给一个变量。在this 的帖子之后,我得到了这样的信息:
extension CLLocation {
func reverseGeocodeLocation(completion: (answer: String?) -> Void) {
CLGeocoder().reverseGeocodeLocation(self) {
if let error = $1 {
print("[ERROR] \(error.localizedDescription)")
return
}
if let a = $0?.last {
guard let streetName = a.thoroughfare,
let postal = a.postalCode,
let city = a.locality else { return }
completion(answer: "[\(streetName), \(postal) \(city)]")
}
}
}
}
为了调用这个函数,我得到了这样的东西:
location.reverseGeocodeLocation { answer in
print(answer)
}
但是我想将answer 的字符串值分配给一个变量,但我不知道如何将该数据从闭包中传递出去。做这种事情的最佳方法是什么?
【问题讨论】:
标签: ios swift closures core-location clgeocoder