2015-10-13 7 views
6

Nie sądzę, że jest to całkowicie sprawa Swift/Xcode, jak widziałem to również w innych językach/IDE.Dlaczego "wewnątrz" w wyrażeniu negatywu wciskanie "case"?

Dlaczego w cudzysłowie w wyœwietlaczu przełącznika jest wcięcie z wcięciem (Nie jestem pewien, czy to jest właściwy sposób sformułowania)?

spodziewałbym oświadczenie Przełącz się wyglądać jak ten

switch(type) { 
    case 1: 
     // do something 
    break; 
    case 2: 
     // do something else 
    break; 
    default: 
     // default 
    break; 
} 

Ale Xcode nalega na tym

switch(type) { 
case 1: 
    // do something 
    break; 
case 2: 
    // do something else 
    break; 
default: 
    // default 
    break; 
} 

Jest to błąd, czy jest jakiś powód do tego? Jeśli tak, co to jest? To jest coś, co podsłuchiwało mnie od dłuższego czasu.

+0

Dzięki @BSMP, nie widzę tego. –

Odpowiedz

6

Zgaduję, że instrukcja break należy do "sekcji" w klauzuli case. I jak każde inne wyrażenie, jest wcięte w stosunku do case. Jeśli chodzi o case w stosunku do switch - cóż, nie wiem.

Ale jestem całkowicie z Tobą - i formatowanie to i tak kwestia osobistych preferencji. Ponieważ przepisy formatowania w Xcode nie są wyraźnie zdefiniowane - nie może być błąd;)

FWIW, preferują ten styl

switch x { 
    case 1: 
     // do something 
     break 
    case 2: 
     // do something else 
     break 
    default: 
     // default 
     break 
} 
+0

Tak, ja też wolę ten styl, ale Xcode ma duży problem - jest latami w tyle w porównaniu do innych IDE. – Sulthan

+3

Swoją drogą, w Swift, nie potrzebujesz żadnego "break" w 'switch'. To jest ukryte. Masz oświadczenie 'fallthrough', jeśli chcesz wymusić upadek poprzez przypadki – BPCorp

+0

@BPCorp Masz rację. Ale klauzula przypadku powinna również zawierać co najmniej jedno zdanie w Swift. – CouchDeveloper

Powiązane problemy