Swift 3 解包并比较 int in if



我正在尝试解开一个值,如果它有效,则将其比较为大于 0。

我正在通过以下方式做:

if let movieLength = movie.length as? Int, movieLength > 0 {
    self.durationLabel.text = "(movieLength) min"
} else {
    self.durationLabel.isHidden = true
}

但是我得到错误

从"Int?"向下转换为"Int"只会解开可选选项;你的意思是使用"!"吗?

还尝试使用 where 关键字但没有成功:

if let movieLength = movie.length as? Int where movieLength > 0 {
    self.durationLabel.text = "(movieLength) min"
} else {
    self.durationLabel.isHidden = true
}

出现错误:

预期的 '","' 连接多子句条件的各个部分

我刚刚在上面尝试过。

无需在 if let 中显式解包,只是这应该有效

if let movieLength = movie.length, movieLength > 0 {
    self.durationLabel.text = "(movieLength) min"
} else {
    self.durationLabel.isHidden = true
}

您可以查看基础知识中的"可选绑定"以获取正确的语法。

相关内容

  • 没有找到相关文章

最新更新