2014-06-05 24 views
56

Dış döngüde, iç içe yapı içinde Swift'de break ifadesine yanıt veren bir iç döngü nasıl kırılır? ÖrneğinDış döngüleri kesmeye yanıt veren iç yapılardan nasıl ayırırsınız (döngüler/geçiş)

:

while someCondition { 
    if someOtherCondition { 
     switch (someValue) { 
      case 0:  // do something 
      case 1:  // exit loop 
      case 2...5: // do something else 
      default: break 
     } 
    } else { 
     someCondition = false 
    } 
} 

break sadece switch beni alacak ve Swift, boş vakalar izin verilmez olarak kullanılmalıdır. Döngüyü switch içinden nasıl tamamen çıkarabilirim?

cevap

116

Swift, labeled statements için izin verir. Etiketli bir deyim kullanarak, döngülerinizi ne kadar derinlemesine yuvalandırırsanız kazın, hangi denetim yapısını break istediğinizi belirtebilirsiniz (genellikle, daha az yerleştirme, okunabilirlik açısından daha iyidir). Bu ayrıca continue için de çalışır.

Örnek:

outerLoop: while someCondition { 
    if someOtherCondition { 
     switch (someValue) { 
      case 0:  // do something 
      case 1:  break outerLoop // exit loop 
      case 2...5: // do something else 
      default: break 
     } 
    } else { 
     someCondition = false 
    } 
} 
İlgili konular