2017-04-25 8 views

답변

4

breakswitch 문이 실행을 종료하도록합니다. casebreak을 추가하지 않으면 다음 case이 실행되기 시작합니다. 고려 :

NSInteger myInt = 0; 
switch (myInt) { 
case 0: 
    NSLog("0"); 
case 1: 
    NSLog("1"); 
default: 
    NSLog("Default"); 
} 

인쇄됩니다

0 
1 
Default 

를 더 휴식이 없기 때문이다.

break을 블록 { break; }으로 감싸 주면 블록이 그 안에 선언 된 변수의 범위를 변경하지만 break에는 영향을주지 않기 때문에 중요하지 않습니다.

{ ... } break;{ ... break; } 사이에는 차이가 없습니다. 두 버전 모두에서 break이 실행되는 마지막 문장이고 그게 모두 중요하기 때문입니다.

그러나

,

case 0: 
    if (myCondition) { 
     break; 
    } 
case 1: 
    ... 

는 매우 다른 의미를 가질 것이다. myConditionNO 인 경우 break 문이 실행되지 않았기 때문에 다음 사례 (case 1:)도 실행됩니다 (fall-through).

+0

이 질문에 대답하지 않습니다. 귀하의 의견 ("중요하지 않습니다."), 그래도 않습니다. –

+0

@ NikolaiRuhe 중간에있는 단락이 질문에 대답한다고 생각합니다. 나는 단지 약간의 문맥을 추가하려하고있다. – Sulthan

+0

수정 사항이 명확 해졌습니다. 감사합니다. –