我想获取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/

10-11 14:57