ラベル Swift3 の投稿を表示しています。 すべての投稿を表示
ラベル Swift3 の投稿を表示しています。 すべての投稿を表示

2016年6月28日火曜日

Swift3.0ではfor文の書き方が変更になる

このエントリーをはてなブックマークに追加
よくあるfor文の書き方に倣(なら)って今までのSwiftもこんな感じだった。
for var i = 0; i < array.count; i++ {
    print(array[i])
}
Swift3.0からはこの書き方は廃止されちゃう。今のXCode 7.3.1でもWarningが出てもう廃止されるぞ!っていわれてしまうので新しい書き方に変えてやらなきゃいけない。互換性保たずに強引に変えていかないと変わらないもんね、って個人的には思うので大変だがやろう。

ちなみに上記の文だとwarningは2つ出て、
'++' is deprecated: it will be removed in Swift 3
++はもう使えなくなるので、+=1にしなさいというのと、
C-style for statement is deprecated and will be removed in a future version of Swift
という本命のfor文の変更をうながすwarning。

処理への変更を少なくして対応するにはこの書き方が一番手っ取り早いと思う。
for i in 0.stride(to: array.count, by: 1) {
    print(array[i])
}