从国家/地区名称

时间:2017-09-12 09:34:25

标签: ios swift swift3

我正在使用Swift 3开发iOS。

我得到了国家名字字符串" Japan"," Britain"," Spain"等

我想知道从国名中生成NSLocale实例的最佳方法是什么?

我只在文档中找到localizedString(forCountryCode:),这意味着我必须手动将国家/地区名称解析为项目中的国家/地区代码,如下所示:

switch countryName
{
     case "Spain":
          "ES"
}

是否有更好的方法从国家/地区名称生成区域设置?

1 个答案:

答案 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
        }
    }