for-in文の書き方

for-in文はfor文の一種で、コレクションなどに含まれる要素を1つずつ取り出して処理するのに便利です。for文と違って、インデックスカウンタ(例えばi++)を書く必要がありません。特にロジックに支障がなければ、for-in文を使用するように心がけましょう。バグの作り込みを減らせます。
基本的なfor-in文の書き方を次に示します。

for 定数名  in コレクションなど {
	処理
}

定数名は、このfor-in文内だけで有効です。また、定数名には、暗黙のうちにlet宣言がされます。つまり、定数名の値を「処理」の中で変更することはできません。

実際にfor-in文を書いてみよう

コレクションの一つである配列を使って、配列要素を取り出して出力してみます。

let  intArray : [Int]  = [ 10 , 20 , 30 , 40 ,50 ]
for value in intArray{
    print(value)
}

実行結果は次のようになります。

10
20
30
40
50

次にディクショナリ(辞書)を使ってみましょう。

let  dictionary = [ "one" : 1 , "two" : 2  , "three" : 3]
for (key , value) in dictionary{
    print("\(key) = \(value)")
}

実行結果は次のようになります。

one = 1
three = 3
two = 2

実行結果を見ると、one, two, threeの順番になっていませんね。ディクショナリで定義した順番に取得されるとは限りませんので注意してください。
コレクションの代わりに、範囲演算子を指定して二つの数字の区間を指定することができます。まず、1から5までを出力してみます。

for value in 1...5{
    print(value)
}
1
2
3
4
5

範囲演算子を変えてみます。

for value in 1..<5{
    print(value)
}
1
2
3
4

“1…5”は5を含みますし、”1..<5”は5を含みません。 for-in文の中で、処理を中止したい場合には、”break”を使用します。また、以降の処理を行わずにループに戻りたい場合には、”continue”を使用します。