2012-12-06 9 views
17

Prawdopodobnie podstawowe pytanie, ale chciałbym zredukować kod za pomocą wielu argumentów na instrukcjach przypadków przełączania. Możliwy? Prawidłowa składnia?Sytuacja przełącznika obiektywu c z wieloma argumentami

switch (myInteger){ 
      case (1): //here I would like to apply multiple arguments as case (1 || 3 || 5) 
       <#statements#> 
       break; 
      case (2): 
       <#statements#> 
       break; 
      default: 
       break; 

Odpowiedz

55

Możesz użyć wielu case s tuż pod sobą.

switch (myInteger) { 
    case 1: 
    case 3: 
    case 5: 
     // statements 
     break; 
    case 2: 
     // statements 
     break; 
    default: 
     // statements 
     break; 
} 
+1

jest to jeden z największych usprawnień w systemie SWIFT, że można napisać przypadki, w tej samej linii, oddzielone przecinkami. –

+1

Więc mówisz, że jeśli umieścisz kod pod literą 5, to będzie on działał, jeśli wybrano przypadek 1, 3 lub 5? – Supertecnoboff

+0

@Supertecnoboff Tak. Ta "cecha" nazywa się "fall-through". Ścieżka wykonania znajduje odpowiednią instrukcję case, a następnie wykonuje wszystko, co nadejdzie, dopóki nie osiągnie instrukcji 'break'. –

12
case 1: 
case 3: 
case 5: 
    statements; 
    break; 
case 2: 
    statements; 
    break; 
default: 
    break; 
+2

Masz literówkę (bez okrężnicy po 5). I nie ma potrzeby używania nawiasów. – rmaddy

+0

LOL, pisząc szybko, próbując pokonać przypływ poprawnych odpowiedzi ... dzięki za złapanie! –

1

Dla Swift 3 jest modyfikacją, że chciałbym wspomnieć

switch some value to consider { 
case 1: //single argument 
    print("ABC") 

case 2,3: // multiple arguments 
    print("KLM") 

default: 
    print("XYZ") 
} 

Nadzieję, że to pomaga. Dzięki

0

Przełącznik przypadek musi zadeklarować wewnątrz głównej metody

SYNTAX

Switch (variable r expression) 
{ 
    Case 1 : 
    Body ; 
    Break 

    Case 2 : 
    Body; 
    Break; 

    Default : 
    Body ; 
    Break; 
} 
+0

To jest składnia dla sprawy przełączania w trybie łatwym –

Powiązane problemy