Swiftのbreak
ステートメントに応答するネストされた構造内から外側のループを解除するにはどうすればよいですか?
例えば:
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
はswitch
から抜け出すだけで、Swiftでは空の場合は許可されないため使用する必要があります。 switch
内からループを完全に終了するにはどうすればよいですか?
Swiftでは ラベル付きステートメント を使用できます。ラベル付きステートメントを使用すると、ループのネストの深さに関係なく、どの制御構造をbreak
にするかを指定できます(ただし、一般的に、読みやすさの観点からはネストは少ない方が良いです)。これはcontinue
でも機能します。
例:
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
}
}