locale region是Foundation中的可选属性。据我所知,该属性是从iOS Settings > General > Language & Region > Region
下的设备中读取的。
区域属性为nil
的可能场景是什么;为什么它是可选?
locale region是Foundation中的可选属性。据我所知,该属性是从iOS Settings > General > Language & Region > Region
下的设备中读取的。
区域属性为nil
的可能场景是什么;为什么它是可选?
1条答案
按热度按时间kfgdxczn1#
据我所知,此属性是从
iOS Settings > General > Language & Region > Region
下的设备读取的好吧,那应该是
Locale.current
,但这不是Locale
示例的唯一示例,你可以创建自己的语言环境。更准确地说,
region
是:此属性对应于Unicode BCP 47扩展的rg键。对于使用rg说明符(如
en-GB@rg=US
)或自定义Locale.Components
创建的区域设置示例,此属性表示自定义区域。否则,它表示语言的区域。我试着将
Locale.Components.region
设置为nil,但是这样创建的Locale
仍然具有该语言的默认区域:如果
Locale.Language
不属于任何区域,则region
为nil。而这样的Locale.Language
确实存在!例如:因此
region
必须是可选的 * 至少 *,因为mul
和zxx
“语言”,如BCP 47中所要求的。