2014-06-10 15 views
60

Swift, kapsamlı anahtar deyimleri gerektirir ve her durumda yürütülebilir kod bulunur. Gerçekten bir şey yapmak istemediğiniz vakaları halletmenin iyi bir yolu var mı? Orada bir println() koyabilirim ama bu kirli hisseder.Swift'in Kesin Anahtar Bildirimleri için Noop

+2

değiştirilmiş

let vegetable = "red pepper" var vegetableComment: String = "Nothing" switch vegetable { case "cucumber", "watercress": break // does nothing case let x where x.hasSuffix("pepper"): vegetableComment = "Is it a spicy \(x)?" default: vegetableComment = "Everything tastes good in soup." } 

Örnek ;? – Firo

cevap

99

the book göre, orada break kullanmak gerekir: Her davanın

kapsamı boş olamaz. Sonuç olarak, her bir vaka etiketinin (:) kolonundan sonra en az bir ifade eklemeniz gerekir. Eşleşen bir vakanın gövdesinde herhangi bir kod yürütmek istemiyorsanız tek bir break bildirimini kullanın.

+5

Oh, yine Swift biraz sürpriz :) yasasını keser :) – Sulthan

+0

@Sulthan biraz sonra, 'break' anlamlıdır. Bir durumdan erken çıkmanın bir yolunu sağlar ve ayrıca * hiçbir şey yapmazsınız *, varsayılan olarak: 'hiçbir şey yapmazken davranışa sahip değildir – Jiaaro

+6

@Jiaaro 'break' gereksinimi 'break' olmayan dalların olduğunu belirtir düşebilir. – RnMss

7

sadece bir mola kullanabilirsiniz: Eğer sadece bir mola kullanılamadı docs

İlgili konular