Swift 2.2で変わった 演算子とfor文

Swift 2.2になって、文法が少し変わりました。

その中で非推奨(deprecated)になった機能があります。

いずれ Swift 3になったら削除される予定なので、今はワーニングが出る状態ですが、いずれは廃止される予定なので気をつけましょう。

 

++演算子、−−演算子

C言語の頃からあった、1を足したり引いたりする、インクリメント演算子(++ )、デクリメント演算子(--)が非推奨になりました。

これから1を足すときは、「+=1」を使います。

 

【これまでの書き方】

スクリーンショット 2016-03-24 15.52.23

【これからの書き方】

スクリーンショット 2016-03-24 15.52.43

 

for文

くり返しを行うfor文の「C言スタイルの書き方」が非推奨になりました。

これからは、「for in文」を使います。

 

【これまでの書き方】

スクリーンショット 2016-03-24 15.51.19

【これからの書き方】

スクリーンショット 2016-03-24 15.51.32

for in文では、通常の昇順(小さい数から大きい数へ進む順)のときは、「範囲の始め ..< 範囲の終わり」で指定できますが、降順(大きい数から小さい数へ進む順)のときは、範囲設定ではできません。

そのようなときは「reverse()」を使います。

【降順に指定しようとするとエラーが出ます】

スクリーンショット 2016-03-24 15.53.33

【reverseを使うと降順に進めます】

スクリーンショット 2016-03-24 15.53.45

 

for in文では、1つずつ進む場合は指定できますが、1つ飛ばしで進んだり、2つ飛ばしで進むような指定はそのままではできません。

そのようなときは「stride(through: 終わり, by:進む数)」で指定します。

【これまでの書き方】

「0から始まって、5まで、2ずつ増える」ようにしたいのですが、あCスタイルの書き方は非推奨だと言われます。

スクリーンショット 2016-03-24 15.50.28

【strideを使う書き方】

strideを使って「0から始まって、5まで、2ずつ増える」ように進めることができます。

スクリーンショット 2016-03-24 15.50.45

【配列を使う書き方】

あらかじめ配列に進む数を入れておいて指定する方法もあります。スクリーンショット 2016-03-24 16.28.47