0 case objective-c break switch-statement
这个解决方案有什么区别:
switch (value)
{
case 1:
{
// some code
} break;
}
Run Code Online (Sandbox Code Playgroud)
当break住宿括号而这之后:
switch (value)
{
case 1:
{
// some code
break;
}
}
Run Code Online (Sandbox Code Playgroud)
当break留在括号
A break使switch语句结束其执行.如果你没有添加一个break,你case的下一个case将开始执行.考虑:
NSInteger myInt = 0;
switch (myInt) {
case 0:
NSLog("0");
case 1:
NSLog("1");
default:
NSLog("Default");
}
Run Code Online (Sandbox Code Playgroud)
将打印:
0
1
Default
Run Code Online (Sandbox Code Playgroud)
因为没有休息.
如果你换break入一个块并不重要,{ break; }因为块会改变在其中声明的变量的范围,但对它break自身没有影响.
两者之间没有区别{ ... } break;,{ ... break; }因为在两个版本break中都是执行的最后一个语句,这一切都很重要.
然而,
case 0:
if (myCondition) {
break;
}
case 1:
...
Run Code Online (Sandbox Code Playgroud)
会有一个非常不同的含义.如果myCondition是NO,那么下一个case(case 1:)也会执行(fall-through),因为该break语句尚未执行.
| 归档时间: |
|
| 查看次数: |
614 次 |
| 最近记录: |