対象:
Swift

ネストが深いループから一気に抜け出す(Swift)

ネストが深いループから一気に抜け出す場合、それがメソッドであればreturnしてしまったり、あるいはフラグを立てて複数のループを抜けたりするだろう。Swiftの場合にはラベル付きステートメント(Labeled statement)とbreakで簡単に深いネストのループから一気に抜け出すことができる。

        // ラベル付きステートメント
        outside: for i in 0..<3 {
            for j in 0..<3 {
                print("i = \(i) j = \(j)")
                if i > 0 {
                    // 外側のforをbreak
                    break outside
                }
            }
        }

このコードの実行結果は以下だが、iが1になったところでoutsideラベルが付いた外側のforまで一気にbreakしている。

i = 0 j = 0
i = 0 j = 1
i = 0 j = 2
i = 1 j = 0
(2015/02/06)
(2016/10/24 更新) ループをFor文→For-In文に修正。

新着情報
【iOS Objective-C, Swift Tips】画像の向きを指定して保存する(Swift)
【iOS Objective-C, Swift Tips】UIImagePickerControllerの表示を日本語にする(Swift)
【iOS Objective-C, Swift Tips】ウィンドウの階層構造を3D表示する(Swift)

Copyright(C) 2004-2016 モバイル開発系(K) All rights reserved.
[Home]