Case 문

1475 단어
컴파일러가 강제로 요구하지 않는 한, 괄호는case 문장 안에 필요하지 않습니다.그러나 하나의 케이스가 여러 줄의 문장을 포함할 때는 괄호를 붙여야 한다.
switch (condition) {
    case 1:
        // ...
        break;
    case 2: {
        // ... 
        // Multi-line example using braces break; 
        break;
   }
    case 3:
        // ...
        break;
    default:
        // ... 
        break;
}

때로는fall-through를 사용하여 다른case에서 같은 코드를 실행할 수 있습니다.하나의fall-through는case 문장의'break'를 제거하고 다음case를 계속 실행하는 것을 말한다.
switch (condition) { 
    case 1: 
    case 2:
        // code executed for values 1 and 2 
        break; 
    default:
       // ... 
      break;
}

switch 문장에서 일일이 열거할 수 있는 변수를 사용할 때default는 불필요합니다.예를 들면 다음과 같습니다.
switch (menuType) { 
    case ZOCEnumNone: 
      // ... 
      break; 
    case ZOCEnumValue1: 
      // ... 
      break; 
    case ZOCEnumValue2: 
      // ... 
      break;
}

또한 기본case를 사용하지 않기 위해서, 새 값이 enum에 추가되면, 프로그램원은 곧 Warning 알림을 받을 것입니다
Enumeration value 'ZOCEnumValue3' not handled in switch.(     'ZOCEnumValue3'     switch   )

열거 유형
enum을 사용할 때, 더 강력한 형식 검사와 코드 보완이 있기 때문에, 새로운 고정된 기초 형식 정의를 사용하는 것을 권장합니다.SDK에는 고정 유형 정의를 권장하고 촉진하는 매크로가 있습니다. - NSENUM() 예:
typedef NS_ENUM(NSUInteger, ZOCMachineState) {            
    ZOCMachineStateNone,  
    ZOCMachineStateIdle, 
    ZOCMachineStateRunning, ZOCMachineStatePaused
};

좋은 웹페이지 즐겨찾기