我想获取GPS信号的地址,然后编写该代码:
CLGeocoder().reverseGeocodeLocation(userLocation) { (placemarks, error) -> Void in
if error != nil {
print("Κάτι δεν πήγε καλά με το GPS!")
} else {
if let p = CLPlacemark(placemark: placemarks?[0] as! CLPlacemark) {
print(p)
}
}
错误是:从“ CLPlacemark? “ CLPlacemark”仅解开可选部分;您是要使用'!'吗? 。我在哪里有错误?
最佳答案
无需像这样初始化CLPlacemark。此异步方法返回一个CLPlacemarks数组,并且此数组是可选的。因此,您需要解开数组(如果存在)并返回该数组的第一个元素,该元素已经是CLPlacemark。
if let validPlacemark = placemarks?[0]{
print(validPlacemark)
}
'[CLPlacemark]?' is not convertible to '[CLPlacemark]' -> swift2
关于xcode - Swift 2,CLGeocoder()和地标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33106069/