如何在 Swift 2.0 中正确解开这些 CLPlacemarks?

Posted

技术标签:

【中文标题】如何在 Swift 2.0 中正确解开这些 CLPlacemarks?【英文标题】:How can I properly unwrap these CLPlacemarks in Swift 2.0? 【发布时间】:2015-09-26 03:20:36 【问题描述】:

我正在将我的 Swift 1.2 项目转换为 Swift 2.0,到目前为止最大的错误是使用 reverseGeocodeLocation() 时,我的 CLPlacemarks 不再工作。 Xcode 尝试正确解包但卡住了。这是我在 1.2 中工作的代码:

CLGeocoder().reverseGeocodeLocation(savedLocation, completionHandler:  (placemarks, error) -> Void in

            if error != nil 

                print(error)

             else 

                if let p = CLPlacemark(placemark: (placemarks?[0] as? CLPlacemark))
//The above line is where it's having trouble

                

                    if p.subThoroughfare != nil 

                        self.address = "\(p.subThoroughfare) \(p.thoroughfare) \(p.locality) \(p.postalCode)"
                        self.annotation.subtitle = self.address

                    
                

            
        )

如何正确实施它们?

【问题讨论】:

【参考方案1】:

你应该能够做到:

if let p = placemarks?[0

【讨论】:

以上是关于如何在 Swift 2.0 中正确解开这些 CLPlacemarks?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 4 中安全地解开字典值?

如何在 Swift 的绑定中解开可选值?

在 Swift (2.0) 中正确处理 NSJSONSerialization (try catch)?

如何从 Swift 2.0 中获取子数组

如何在 Swift 2.0 中使用完成按钮做数字键盘?

尝试在 swift 2.0 中执行 GET 请求时出错