Swiftでラベルをfor, while文で使う方法

Pocket

for, whileなどを入れ子で使う場合に、breakなどを使うと一番内側にあるスコープからしか抜けだせない。

それを一気に抜け出すためには、ラベルをつけることで明示的にループから抜けることができるよ。

(ただし、ネストが深くなるのは一般的にはよろしくないので、メソッド化を行うのもしっかりと視野に入れておこう)

for文でラベルを使う

こんな感じで名前をつけてあげると、そのループから明示的に抜け出すことができるよ。

今回は元々一番内側だから処理的には今までと変わらないので以下を見てみよう。

for文で外側のループへ抜け出す

外側のhogeのループから外に抜け出しているので、printがどちらも一度しか動いていないのがわかると思う。

以下、同じようにwhileだと…

whileで外側のループへ抜け出す

こんな感じで抜け出せるよ。

今回は紹介しないけど、Switchでもラベルはつけれるよ。


おわりに

最近、Q&Aの teratail が割と便利なのでおすすめ。

ボクがリリースしたアプリも役に立ったらDLしてみてね -> iOSアプリ
スポンサーリンク
  • このエントリーをはてなブックマークに追加