【发布时间】:2022-07-07 05:34:54
【问题描述】:
if bulletsOn == true {
bullets -= 0.003
} else {
bullets += 0.001
}
当我像这样输入三元形式时,编译器会出错。
bulletsOn ? bullets -= 0.003 : bullets += 0.001
错误:结果值在 '? :' 表达式有不匹配的类型 '()' 和 'CGFloat'
【问题讨论】:
-
bullets = bulletsOn ? bullets - 0.003 : bullets + 0.001 -
bullets += bulletsOn ? 0.001 : -0.003 -
问题是缺少括号。
bulletsOn ? (bullets -= 0.003) : (bullets += 0.001)。顺便说一句bulletsOn ? bullets -= 0.003 : (bullets += 0.001)也可以