获取应用程序中当前使用的语言崩溃

问题描述 投票:0回答:1

我正在尝试找出我的应用程序中当前使用的语言,如以下链接所示:

如何用Swift获取当前语言代码?

     let pre = Locale.preferredLanguages[0]

但它不断崩溃,我收到此错误:

enter image description here

如何解决这个问题以及为什么会出现此错误?

这只发生在以下类中:

class ButtonText: UIButton {
    let padding = UIEdgeInsets(top: 0, left: 35, bottom: 0, right: 0);
    let padding2 = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 35);
    let pre = Locale.preferredLanguages[0]
    
    override open func titleRect(forContentRect bounds: CGRect) -> CGRect {
        if pre != "ar"{
            return UIEdgeInsetsInsetRect(bounds, padding)
        }else{
            titleLabel?.textAlignment = .left
            return UIEdgeInsetsInsetRect(bounds, padding2)
        }
    }
}
ios swift locale
1个回答
1
投票

图像中的代码没有错误,我们需要以前的代码以及如何使用此按钮来知道哪里有异常

此行的当前语言代码是可选字符串

Locale.current.languageCode

但是这一行不是可选的

Locale.preferredLanguages[0]

所以尝试一下并告诉我结果

 override func titleRect(forContentRect contentRect: CGRect) -> CGRect {

    if let code = Locale.current.languageCode , code != "en" {

    } else{

    }
}
© www.soinside.com 2019 - 2024. All rights reserved.