CLGeocoder Swift 2 版本
CLGeocoder Swift 2 Version
这曾经在 Swift 1.2 中运行良好,但现在出现错误:
"Cannot invoke 'geocodeAddressString' with an argument list of type '(String, completionHandler: ([AnyObject]!, NSError!) -> Void)'"
geocoder.geocodeAddressString(address, completionHandler: {(placemarks: [AnyObject]!, error: NSError!) -> Void in
if let placemark = placemarks?[0] as? CLPlacemark {
let annotation = MKPointAnnotation()
编辑答案:
geocoder.geocodeAddressString(address, completionHandler: {(placemarks: [CLPlacemark]?, error: NSError?) -> Void in
完成处理程序中的变量设置不正确,您没有包含声明,所以只是 -
coder.geocodeAddressString("1 infinite loop, cupertino, ca") { (placemarks, error) -> Void in
if let firstPlacemark = placemarks?[0] {
print(firstPlacemark)
}
}
请注意,类型推断知道不需要的可选强制转换将是 CLPlacemark
这曾经在 Swift 1.2 中运行良好,但现在出现错误:
"Cannot invoke 'geocodeAddressString' with an argument list of type '(String, completionHandler: ([AnyObject]!, NSError!) -> Void)'"
geocoder.geocodeAddressString(address, completionHandler: {(placemarks: [AnyObject]!, error: NSError!) -> Void in
if let placemark = placemarks?[0] as? CLPlacemark {
let annotation = MKPointAnnotation()
编辑答案:
geocoder.geocodeAddressString(address, completionHandler: {(placemarks: [CLPlacemark]?, error: NSError?) -> Void in
完成处理程序中的变量设置不正确,您没有包含声明,所以只是 -
coder.geocodeAddressString("1 infinite loop, cupertino, ca") { (placemarks, error) -> Void in
if let firstPlacemark = placemarks?[0] {
print(firstPlacemark)
}
}
请注意,类型推断知道不需要的可选强制转换将是 CLPlacemark