Ios 检查switch语句中的数字是否从一个匹配到另一个

Ios 检查switch语句中的数字是否从一个匹配到另一个,ios,objective-c,switch-statement,Ios,Objective C,Switch Statement,我有一个开关语句来比较整数。我想做的是检查整数是否始终与1个数字匹配,直到下一个数字 例如:如果我想比较一个名为myInteger的整数,我想看看数字2、3、4、5或6是否与“myInteger”匹配,那么请执行以下操作 下面是一个编码示例: switch (myInteger) { case 0: ... case 1: ... case 2 to 7: // This is what I'm trying to achieve

我有一个
开关
语句来比较
整数
。我想做的是检查
整数
是否始终与1个数字匹配,直到下一个数字

例如:如果我想比较一个名为
myInteger
整数,我想看看数字2、3、4、5或6是否与“myInteger”匹配,那么请执行以下操作

下面是一个编码示例:

switch (myInteger) {
    case 0:
        ...
    case 1:
        ...
    case 2 to 7:    // This is what I'm trying to achieve
        ...
}

那么,如何才能使
switch
语句在一系列数字上进行迭代呢?

基于C的语言,如Objective-C,不支持这种语法。只需使用if语句:

if (myInteger >= 2 && myInteger <= 7)) {
    // do stuff
}

如果(myInteger>=2&&myInteger您实际上可以使用…运算符对目标C执行此操作

根据您的示例,这将在0和7之间以及8和14之间找到。任何较大的值都是默认操作

switch (myInteger) {
    case 0 ... 7:
      break;
    case 8 ... 14:
      break;
    default:
      break;
}
亲自尝试一下,你会发现它是有效的。这是gcc支持的遗留问题:


你的问题是什么?请尽量用短语表达,以便在结尾处有一个问号,如果可能的话,以“我该怎么做…”开头。只需更新问题即可