2017-10-05 34 views
1

我以前已經能夠使用下面的代碼從一個CLPlacemark完整的地址字符串斯威夫特3:獲取完整的地址字符串9

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

addressDictionary現在已經過時,在迅速4.

我可以提取每個單獨的CLPlacemark地址變量字符串(名稱,國家postalCode等),但我想知道是否有一個更簡單的方法來做到這一點。

我知道有一個郵政地址變量是CNPostalAddress類型,但不知道如何將其轉換爲字符串。

+0

奇怪我找不到CLPlacemark對象上的郵寄地址財產iOS的11斯威夫特4的Xcode 9 – azamsharp

+0

我CLPlacemark確實有一個郵寄地址屬性iOS11/swift4/Xcode9。 https://developer.apple.com/documentation/corelocation/clplacemark – alionthego

+0

您可能需要添加導入聯繫人 – alionthego

回答

3

您可以從CNPostalAddress獲取郵寄地址是這樣的:

CNPostalAddressFormatter.string(from:YOUR_POSTAL_ADDRESS, style: .mailingAddress) 
+0

感謝您的解決方案。我需要添加導入聯繫人才能訪問CNPostalAddress。 – alionthego