2014-06-08 10 views
34

Kể từ khi swift không rơi qua case báo cáo trong switch, Làm thế nào tôi có thể viết một tuyên bố trường hợp trống rỗng mà không nhận được một lỗi?Làm thế nào tôi có thể viết một trường hợp rỗng trong Swift?

let a = 50 
switch a { 
case 0..10: 
case 10..100: 
    println("between 10 and 100") 
default: 
    println("100 and above") 
} 

Tôi làm cách nào để dừng trường hợp đầu tiên?

Trả lời

51
let a = 50 
switch a { 
case 0..10: 
    break // Break the switch immediately 
case 10..100: 
    println("between 10 and 100") 
default: 
    println("100 and above") 
} 

từ khóa break là không bắt buộc, nhưng không phải trong trường hợp này :)

+3

Đây là câu trả lời đúng. Từ [* Ngôn ngữ lập trình Swift (Swift 2.2) *] (https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ControlFlow.html#//apple_ref/doc/uid/TP40014097- CH9-ID139): "Bởi vì câu lệnh chuyển đổi của Swift là đầy đủ và không cho phép các trường hợp trống, đôi khi cần phải cố tình so khớp và bỏ qua một trường hợp để làm rõ ý định của bạn. Bạn làm điều này bằng cách viết câu lệnh ngắt như toàn bộ phần thân của trường hợp bạn muốn bỏ qua. " –

22

Để ngăn chặn các lỗi:

Case label in a switch should have at least one executable statement 

... sử dụng () trong trường hợp nhãn như trong ví dụ sau . Cũng hoạt động với nhãn default.

let a = 1 
switch a { 
case 1: 
    () 
case 2: 
    println("2") 
default: 
    () 
} 
Các vấn đề liên quan