に更新した後Xcode 7.3
、プロジェクトに多数の警告が表示されます。
「++」は非推奨です: Swift 3で削除されます
この警告を修正するアイデアはありますか? およびが今後非推奨になる理由は++
ありますか?--
Swift 2.2 以降では、代わりに+= 1
orを使用する必要があります-= 1
。
Swift の進化を調べた後、これらの演算子を削除する理由がいくつかあります。
これらの演算子は、最初のプログラミング言語として Swift を学習する負担を増やします。または、これらの演算子を別の言語からまだ知らないその他の場合です。
それらの表現上の利点は最小限です - x++ は x += 1 よりもそれほど短くはありません。
Swift は、=、+=、およびその他の割り当てのような操作が (多くの理由で) Void を返すという点で、既に C から逸脱しています。これらの演算子は、そのモデルと矛盾しています。
Swift には、他の言語の C スタイルの for ループで ++i を使用する一般的な理由の多くを排除する強力な機能があるため、適切に作成された Swift コードでこれらが使用されることは比較的まれです。これらの機能には、for-in ループ、範囲、列挙、マップなどが含まれます。
これらの演算子の結果値を実際に使用するコードは、多くの場合、コードのリーダー/メンテナーにとってわかりにくく、わかりにくいものです。彼らは、かわいいかもしれないが理解するのが難しい「過度にトリッキーな」コードを奨励しています。
Swift では評価の順序が明確に定義されていますが、それに依存するコード (foo(++a, a++) など) は、明確に定義されていたとしても望ましくありません。
これらの演算子は、比較的少数の型 (整数および浮動小数点スカラー、および反復子のような概念) に適用できます。複素数、行列などには適用されません。
最後に、これらは「まだ持っていない場合、Swift 3 に追加しますか?」というメトリックに失敗します。
詳細については、 Swift の進化を確認してください。