我正在尝试找出我的应用程序中当前使用的语言,如以下链接所示:
let pre = Locale.preferredLanguages[0]
但它不断崩溃,我收到此错误:
如何解决这个问题以及为什么会出现此错误?
这只发生在以下类中:
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)
}
}
}
图像中的代码没有错误,我们需要以前的代码以及如何使用此按钮来知道哪里有异常
此行的当前语言代码是可选字符串
Locale.current.languageCode
但是这一行不是可选的
Locale.preferredLanguages[0]
所以尝试一下并告诉我结果
override func titleRect(forContentRect contentRect: CGRect) -> CGRect {
if let code = Locale.current.languageCode , code != "en" {
} else{
}
}