在系统中查找 nil 在 Swift 4 中双值



我正在尝试在 Swift 4 中查找当前系统版本,我有一个标签,我将设置为"已更新"或"未更新",具体取决于当前 iOS 版本是>= 11.2 还是<11.2。

这在模拟器中工作得很好,但是当我在iPhone X上运行它时,它返回一个错误:"线程1:致命错误:在解开可选值时意外发现nil",指出systemDouble等于nil。

我试过说系统双精度!= nil 和系统双精度 == nil,但似乎没有任何效果。

任何帮助将不胜感激,谢谢

代码如下:

@IBOutlet weak var updateStatus: UILabel!

let systemVersion = UIDevice.current.systemVersion
let systemDouble = Double(systemVersion)

if (updateStatus  != nil && systemDouble! >= 11.2)
{
    updateStatus.text! = "Updated"
    updateStatus.textColor = UIColor.green
}
else if (updateStatus != nil && systemDouble! < 11.2)
{
    updateStatus.text! = "Not Updated" + String (systemVersion)
    updateStatus.textColor = UIColor.red
}

systemVersion是一个字符串,不能保证它可以转换为数字。因此,当您强制解开包装时,会出现错误。

我建议改用if #available(iOS 11.2, *)

相关内容

  • 没有找到相关文章

最新更新