gpt4 book ai didi

ios - 从 NSLocale.preferredLanguages 数组中删除区域代码

转载 作者:搜寻专家 更新时间:2023-11-01 07:19:43 25 4
gpt4 key购买 nike

将我的 Mac 更新到 OSX Sierra 后,我注意到 NSLocale.preferredLanguages() 数组现在采用不同的格式(参见快速解释 here)

另外,我想 IOS9 也会发生同样的事情。

所以,简而言之,以前我们有语言格式“en”、“fr”、“ru”、e.t.c

现在,我们有“en-US”、“en-RU”、“fr-US”等格式

在我的应用程序中,一些控件的坐标与语言环境有关。现在,因为格式不同,都错了。我正在考虑解决此问题并继续支持旧版本的最佳方法。

所以,我的问题是:

有没有办法只接收没有区域代码的语言代码?快速而肮脏的解决方案是从该字符串中读取前两个符号。还有更优雅的吗?

附言有人可以向我解释苹果的逻辑吗?我的意思是,为什么他们决定,最好的选择是更改现有的对象格式(破坏向后兼容性)而不是向 NSLocale 添加额外的字段?

最佳答案

您可以按如下方式使用 substringToIndex:

let str = "en-US"

if let indexOfDash = str.characters.indexOf("-") {
let langCode = str.substringToIndex(indexOfDash)
}

无论出于何种原因,如果语言代码超过 2 个字符,您就不会被抓到。

关于ios - 从 NSLocale.preferredLanguages 数组中删除区域代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39895027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com