我们面临以下 API
Locale.isoRegionCodes
的问题,该 API 已从 iOS >= 16 起弃用。新 API 如下 Locale.Region.isoRegions
,但在执行如下所示的映射时,region.identifier
返回代码 001。
if #available(iOS 16, *) {
let CountryCodeWithNewApi = Locale.Region.isoRegions.map { region in
CustomCountry(value: "", key: region.identifier)
}.sorted(by: { $0.value < $1.value })
} else {
// Fallback on earlier versions
}
如何从这个代码中推导出2个字母的旧国家代码?是否可能或者我们需要手动映射 ISO-3166-alpha 2 代码才能向用户显示所有国家/地区代码?
例如,为什么不过滤掉所有数字国家代码
if region.identifier.allSatisfy(\.isLetter) {
CustomCountry(value: "", key: region.identifier)
}