Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在swift中为开关盒创建范围。?_Ios_Swift_Range_Nsrange - Fatal编程技术网

Ios 如何在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:

如何在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:
            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
对象?@Rob
x%5
是一个很好的建议。但是我很好奇,我们能不能为
1,2,3,4,6,7,8,9。。如此类推:
这样我也可以处理多个开关情况,或者让x其中x.isMultiple(of:5)