Swift 从邮​​政编码获取城市

Swift Get City from Zipcode

我有一张用户填写的注册表。我希望他们只需要输入他们的邮政编码并让我的程序能够推断出他们的城市和州,这样他们就不必手动编写这些/拥有一个更简洁的输入字段更少的界面。

我该怎么做?

您必须在您的应用中添加一个引用,将城市与邮政编码相关联(硬编码或在 plist 文件或核心数据中)。然后在用户输入邮政编码时检索并显示信息。

您可以为此使用 CoreLocation 框架。将邮政编码作为字符串并让框架进行最佳猜测,或者向用户提供猜测并让他们 select 一个:

import UIKit
import CoreLocation

let zipCode = "1234AB"

let geocoder = CLGeocoder()
geocoder.geocodeAddressString(zipCode) {
    (placemarks, error) -> Void in
    // Placemarks is an optional array of CLPlacemarks, first item in array is best guess of Address

    if let placemark = placemarks?[0] {

        print(placemark.addressDictionary)
    }

}

CLGeoCoder and CLPlaceMark

**Not working. its not printing anything**

import UIKit
import CoreLocation

let zipCode = "1234AB"

let geocoder = CLGeocoder()
geocoder.geocodeAddressString(zipCode) {
    (placemarks, error) -> Void in
    // Placemarks is an optional array of CLPlacemarks, first item in array is best guess of Address

    if let placemark = placemarks?[0] {

        print(placemark.addressDictionary)
    }

}