ios有结合开关案例的方法吗?

时间:2013-08-27 05:23:26

标签: objective-c switch-statement

我想知道是否有办法合并开关案例,例如:

   switch (value)
   {
   case 0,1,2:
      nslog (@"0,1,2 cases");
      break
      case 3:
      nslog (@"3 cases");
        break;
      default:
        NSLog (@"anything else");
        break;
   }

我真的很感谢你的帮助

3 个答案:

答案 0 :(得分:28)

你的意思是,这样的事情?

switch (value)
{
case 0:
case 1:
case 2:
  NSLog (@"0,1,2 cases");
  break;
case 3:
  NSLog (@"3 cases");
  break;
default:
  NSLog (@"anything else");
  break;
}

你知道,开关盒结构将从相应的case行开始执行大括号内的每一行,直到它到达最后一行或中断。因此,如果您在案例之后没有包含休息时间,它也将继续执行下一个案例。

答案 1 :(得分:1)

或者,您可以这样做......

case 0:
case 1:
case 2:
    NSLog();
    break;

case 3:
   NSLog()
   break;

default:
   NSLog();
   break;

答案 2 :(得分:0)

也可以使用范围(少一点代码)。以下示例说明了它:

switch (value)
   {
      case 0 ... 2:
         NSLog (@"0,1,2 cases");
         break
      case 3:
         NSLog (@"3 cases");
         break;
      default:
         NSLog (@"anything else");
         break;
   }