111*_*111 3 switch-statement ios swift
我有这个if else检查:
var aItem: CGFloat = 0
if item == 0 {
aItem = 457
} else if item == 1 {
aItem = 576
} else if item == 2 {
aItem = 758
}
print(aItem)
Run Code Online (Sandbox Code Playgroud)
我想用switchcase语句替换这段代码.怎么做?
我试过了:
var aItem: CGFloat = 0
switch item {
case _ where item == 0:
aItem = 457
case _ where item == 1:
aItem = 576
case _ where item == 2:
aItem = 758
default:
print("this is impossible")
}
Run Code Online (Sandbox Code Playgroud)
它是有效的但是最好的解决方案吗?也许可以以某种方式简化这段代码?
什么是更好用?if else还是切换案例陈述?
它应该写成:
let aItem: CGFloat
switch item {
case 0:
aItem = 457
case 1:
aItem = 576
case 2:
aItem = 758
default:
aItem = 0
print("this is impossible")
}
print(aItem)
Run Code Online (Sandbox Code Playgroud)
如果事实是你item只能是0,1或2,我会这样做:
let anItem: CGFloat = [457, 576, 758][item]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,使用if else或之间几乎没有区别switch.选择你最喜欢的.if并switch有优势.使用哪种最符合您需要的代码/逻辑.或者,在这种情况下,不要使用任何一种.