在弃用 Locale.isoRegionCodes API 后获取 iOS >= 16 的国家/地区代码(ISO-3166-alpha2 标准)?

问题描述 投票:0回答:1

我们面临以下 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 代码才能向用户显示所有国家/地区代码?

ios swift iphone iso-3166
1个回答
0
投票

例如,为什么不过滤掉所有数字国家代码

if region.identifier.allSatisfy(\.isLetter) {
    CustomCountry(value: "", key: region.identifier)
}
© www.soinside.com 2019 - 2024. All rights reserved.