使用Swift 4/Xcode 9从CLPLacemark获取完整的地址字符串

ali*_*ego 4 ios clplacemark swift4 xcode9

我以前能够使用以下Swift 3代码从CLPlacemark获取完整地址字符串:

let addressList = placemark.addressDictionary?["FormattedAddressLines"] as? [String]
let address =  addressList!.joined(separator: "\n")
Run Code Online (Sandbox Code Playgroud)

addressDictionary现在已在swift 4中弃用.

我可以提取每个CLPlacemark地址变量字符串(name,country postalCode等),但我想知道是否有更简单的方法.

我知道有一个postalAddress var,其类型为CNPostalAddress,但不确定如何将其转换为String.

Vin*_*App 7

您可以从以下地址获取邮寄地址CNPostalAddress:

CNPostalAddressFormatter.string(from:YOUR_POSTAL_ADDRESS, style: .mailingAddress)
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的解决方案.我还需要添加导入联系人以访问CNPostalAddress. (5认同)