【Swift】辞書を繰り返し(ループ)処理する方法

Swiftの辞書を繰り返し(ループ)処理する方法について記載します。

辞書を繰り返し(ループ)処理する方法

辞書を繰り返し(ループ)処理するには、for-inforEach を使用します。

それぞれの違いは、ループ内で continue・break・return の 使用可・不可の違いになります。

構文 continue break return
for-in ×
forEach × ×

1. for-in

for-in では、continue や break が使えるので

・特定のキーや値の処理はスキップしたい( continue )
・特定のキーや値が出現したらループ処理を終了したい( break )

という用途の繰り返し処理にむいています。

実行例( continue で 特定のキーはスキップして処理 )

実行例( break で特定の値が出現したらループ処理を終了 )

2. forEach

forEachでは、return が使えます。
return というと、関数から抜ける というように、forEachループから抜けるように感じますが、動作としては、continue と同じになります。

実行例( return で 特定のキーはスキップして処理 )

3. まとめ

for-in、forEach の使い分けとしては

for-in:ループ処理で値のスキップや、途中で処理を抜けたい
forEach:ループ処理の全ての要素に処理を行いたい

というようにすれば分かりやすいと思います。

プロジェクトでコーディング規約を作る場合は、for-in のみ使用する でも良いと思います。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする