我有一个单例类,它有一个变量,就像这样简单
class Settings{
// singelton
static let shared = Settings()
var lan:String? = "ar"
private init(){
}
}
和我有一个按钮,改变语言代码的应用程序从ar到en,当我再次选择它的语言代码从en到ar。
@IBAction func languageBtnTabbed(_ sender: Any) {
MOLH.setLanguageTo(MOLHLanguage.currentAppleLanguage() == "en" ? "ar" : "en")
print(MOLHLanguage.currentAppleLanguage())
Settings.shared.lan = MOLHLanguage.currentAppleLanguage()
MOLH.reset()
}
我的问题是如何更新lan变量设置类与" molhlanguage . currentapplellanguage ()">
我尝试用这行来更新lan变量:Settings.shared.lan = molhlanguage . currentapplellanguage ()但实际上LAN变量并没有改变。有人能帮我解决这个问题吗?提前谢谢你。
我尝试在LAN变量上didset{}以更新它,一旦语言代码改变并且代码工作良好。
所以可能值得检查MOLHLanguage.currentAppleLanguage()
的值是什么,我怀疑MOLHLanguage.currentAppleLanguage()
的值实际上可能是ar
?
尝试将land
的默认文本更改为default
之类的内容,并查看当您运行代码时是否值现在更新为ar
。