Ios 如何在swift中为开关盒创建范围。?
如何在swift中为Ios 如何在swift中为开关盒创建范围。?,ios,swift,range,nsrange,Ios,Swift,Range,Nsrange,如何在swift中为0,5,10和1,2,3,4,6,7,8,9: switch currentIndex { case 0,5,10: segment = .fullWidth case 1,2,3,4,6,7,8,9:// Can't write infinity range here need formula segment = .fiftyFifty default:
0,5,10
和1,2,3,4,6,7,8,9:
switch currentIndex {
case 0,5,10:
segment = .fullWidth
case 1,2,3,4,6,7,8,9:// Can't write infinity range here need formula
segment = .fiftyFifty
default:
segment = .fiftyFifty
}
示例let underFive:Range=0.0..您可以使用
var currentIndex=4
枚举段{
没什么
箱子全宽
案例五十五
}
变量段:段=.nothing
开关电流指数{
案例0,5,10:
段=.fullWidth
案例1…4、6…9:
段=0.55
违约:
段=0.55
}
打印(段)
这个代码在操场上工作
如果您想测试五的倍数
开关电流索引{
case let x,其中x.isMultiple(of:5)://这里是5的倍数
默认值://如果到达此处,则每个值都不能被5整除
}
default
案例处理您的“无限范围”场景,因为5、10、15等值是由先前的案例处理的
在回答您的问题时,范围由下限、上限或两者定义。“部分范围”是指有下限或上限,但不是两者都有的范围。例如,100…
都是100或更大的整数。或者,结合“不是五的倍数”逻辑:
开关电流索引{
case let x,其中x.isMultiple(of:5)://这里是5的倍数
案例100…://等于或大于100的五的非倍数
默认值://其他所有内容
}
但范围本身是由其上下限定义的。如果有数字要排除,则必须将该逻辑放在前面的案例中
或添加where
子句(或两者兼而有之)。或者使用设置
而不是范围
你问了一个关于常数/变量的单独问题。您可以使用该罚款:
let underFive=0..@Rob我只想用Range
1,2,3,4,6,7,8,9:
。无穷大意味着范围序列可以很长。不限于此。@Rob first将为0,5,10,15,20。。。。等等反之亦然。我怎样才能为它创建Range
对象?@Robx%5
是一个很好的建议。但是我很好奇,我们能不能为1,2,3,4,6,7,8,9。。如此类推:
这样我也可以处理多个开关情况,或者让x其中x.isMultiple(of:5)