gpt4 book ai didi

ios - 如何使用 Swift 检测和更改 ios 应用程序语言?

转载 作者:可可西里 更新时间:2023-11-01 02:27:20 24 4
gpt4 key购买 nike

我想检测用户使用的设备语言。然后我想将语言更改为应用程序将加载适当的图像、字符串、 Storyboard 的其他语言。

我使用以下方法检测语言:

let lang: String = NSLocale.preferredLanguages()[0] as String

然而,即使我的 iOS 模拟器设置为阿拉伯语,这也会为我返回“en”。

根据 Objective-C 问题,我尝试执行以下操作以将语言更改为阿拉伯语:

NSUserDefaults.setValue("ar", forKey: "AppleLanguage")

但这会引发错误:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSUserDefaults 0x103daa350> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key AppleLanguage.'

最佳答案

对于您编写的代码,编译器认为您正在尝试使用 KVO,将值“ar”设置为 NSUserDefaults 类的属性“AppleLanguage”。哪个不存在。

使用 setObject:forKey: 而不是 setValue:forKey:

NSUserDefaults.setObject(["ar"], forKey: "AppleLanguage") // First param is an array.

而且我从来没有用 Swift 编写过代码,但是在更新其中的任何内容之前,您不需要获取标准默认值 NSUserDefaults.standardUserDefaults() 吗?

关于ios - 如何使用 Swift 检测和更改 ios 应用程序语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26826432/

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