我正在尝试打开一个值,如果有效,请将其与大于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
}
错误:
预期','加入多条款条件的部分
我刚才尝试过。
答案 0 :(得分:7)
无需明确展开if let
,这应该可以正常工作
if let movieLength = movie.length, movieLength > 0 {
self.durationLabel.text = "\(movieLength) min"
} else {
self.durationLabel.isHidden = true
}
您可以查看The Basics中的“可选绑定”以获取正确的语法。