我正在使用Swift 3开发iOS。
我得到了国家名字字符串" Japan"," Britain"," Spain"等
我想知道从国名中生成NSLocale实例的最佳方法是什么?
我只在文档中找到localizedString(forCountryCode:),这意味着我必须手动将国家/地区名称解析为项目中的国家/地区代码,如下所示:
switch countryName
{
case "Spain":
"ES"
}
是否有更好的方法从国家/地区名称生成区域设置?
答案 0 :(得分:2)
您可以使用CoreLocation框架。此代码创建一个字典,其中country的名称是key,ISO是value
var dictionary = [String : String]()
let arrayWithCodes = Locale.isoRegionCodes
for code in arrayWithCodes {
let description = Locale.current.localizedString(forRegionCode: code)
if description != nil {
dictionary[description!] = code
}
}