我想得到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'只打开选项;你的意思是使用'!'? 。我在哪里有错误?
答案 0 :(得分:0)
无需像这样初始化CLPlacemark。此async方法返回CLPlacemarks数组,此数组是可选的。因此,如果数组存在,则需要解包该数组并返回该数组的第一个元素,该元素已经是CLPlacemark。
if let validPlacemark = placemarks?[0]{
print(validPlacemark)
}
'[CLPlacemark]?' is not convertible to '[CLPlacemark]' -> swift2