你如何比较两个Int值?所以,我有这个:
let limit: Int?
let current: Int = Int(self.stringValue)!
但是当我尝试比较它们时(大于或等于):
if (current >= self.limit) {
value = amount
} else {
value = current * 10 + amount
if value > self.max! {
value = amount
}
}
我收到错误:
二元运算符'> ='不能应用于' Int'类型的操作数和 '诠释'?
这会有什么办法吗?
答案 0 :(得分:3)
由于limit
是可选的Int
(Int?
),因此它可能为零且与current
无法直接比较。因此,首先打开可选项以检测并避免处理零个案例,并仅比较非零个案例。
if let limit = self.limit, current >= limit {
value = amount
} else {
value = current * 10 + amount
if value > self.max! {
value = amount
}
}