Swift 2,CLGeocoder()和地标

时间:2015-10-13 15:01:11

标签: xcode swift swift2 clgeocoder

我想得到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'只打开选项;你的意思是使用'!'? 。我在哪里有错误?

1 个答案:

答案 0 :(得分:0)

无需像这样初始化CLPlacemark。此async方法返回CLPlacemarks数组,此数组是可选的。因此,如果数组存在,则需要解包该数组并返回该数组的第一个元素,该元素已经是CLPlacemark。

if let validPlacemark = placemarks?[0]{
 print(validPlacemark)
}

'[CLPlacemark]?' is not convertible to '[CLPlacemark]' -> swift2