2015-01-16 1 views
0

나는이처럼 보이는 스위치 케이스가 있습니다스위치 케이스에서 특정 사례를 프로그래밍 방식으로 호출 할 수 있습니까?

switch (class.Function()) 
{ 

    case firstThing: 
    { 

    } 
     break; 
    case secondThing: 
    { 
    //call third thing 
    } 
    break; 
    case thirdThing: 
    { 

    } 
    break; 

    } 

C/오브젝티브 C에서 특정 사건을 호출 할 수있는 방법이 있나요?

+2

확인 있는지 확인'class.Function()'항상 대응을 반환 대/소문자 값. –

+0

여기에서 성취하려는 것을 분명히해야합니다. 당신이 설명하는대로'switch' 문을 사용하는 것은 거의 의미가 없습니다. – rmaddy

답변

1

이유를 알 수는 없지만 사례에서 break 문을 case secondThing의 끝 부분에두면 간단합니다. 사용자는 중단 사례가 발생할 때까지 후속 case 문을 계속 진행합니다 .

1

당신이 구현하려고하는 것은 switch 문을 쓰는 것 같습니다. case # 2 이후에 break 문을 생략하면 # 3의 모든 코드가 실행됩니다. 이것은 당신이 원하는 것일 수 있습니다. 특정 예에서

switch (class.Function()) 
{ 

    case firstThing: 
    { 

    } 
     break; 
    case secondThing: 
    { 
    //go to case 3 
    } 

    case thirdThing: 
    { 

    } 
    break; 

    } 
0

, 당신은을 통해 사례 가을을 사용할 수 있지만 그것은 일반적으로 귀하의 질문에 대한 해결책이 아니며, secondThing에 특정 코드가 있다면, 그것은 혼란으로 이어질 수있는 나쁜 간주 될 수 연습. 당신은 단순히 함수로 각각의 경우의 몸을 구현하는 경우

switch (class.Function()) 
{ 
    case firstThing: 
    { 

    } 
    break; 

    case secondThing: 
    case thirdThing: 
    { 

    } 
    break; 
} 

는, 그 아마도 더 일반적인 솔루션입니다 :

switch(class.Function()) 
{ 
    case firstThing: something();      break; 
    case secondThing: anotherThing(); oneMoreThing(); break; 
    case thirdThing: oneMoreThing();     break; 
} 
관련 문제