如何检测区域设置?

use*_*ser 3 locale ios swift

我想检测区域,如果不是西班牙,我需要创建这样的检查:

if myRegion == Spain {

    //some code

} else {

    //some code

}
Run Code Online (Sandbox Code Playgroud)

我试图这样做,但它不起作用:

let myRegion = Locale.current

if myRegion == Locale(identifier: "sp") {
    //some code
} else {
    //some code
}
Run Code Online (Sandbox Code Playgroud)

更新

if myRegion == Locale(identifier: "es") {
    print("YES")
} else {
    print("NO")
} 

let locale = Locale.current
print(locale.regionCode)
Run Code Online (Sandbox Code Playgroud)

这是行不通的。在控制台中我看到:

NO
Optional("ES")
Run Code Online (Sandbox Code Playgroud)

如果我将 es 更改为 ES 它是行不通的。

Kes*_*Rai 6

 let myRegion = Locale.current.regionCode
 if myRegion == "ES" {
        //some code 
    } else {
        //s
    } 
Run Code Online (Sandbox Code Playgroud)

西班牙区域代码是“es”。您可以在此处找到代码列表:LINK

如果您在同一个国家/地区,找出地区代码的最简单方法是:

let locale = Locale.current
print(locale.regionCode)
Run Code Online (Sandbox Code Playgroud)