22

に更新した後Xcode 7.3、プロジェクトに多数の警告が表示されます。

「++」は非推奨です: Swift 3で削除されます

この警告を修正するアイデアはありますか? およびが今後非推奨になる理由は++ありますか?--

4

1 に答える 1

46

Swift 2.2 以降では、代わりに+= 1orを使用する必要があります-= 1

Swift の進化を調べた後、これらの演算子を削除する理由がいくつかあります。

  1. これらの演算子は、最初のプログラミング言語として Swift を学習する負担を増やします。または、これらの演算子を別の言語からまだ知らないその他の場合です。

  2. それらの表現上の利点は最小限です - x++ は x += 1 よりもそれほど短くはありません。

  3. Swift は、=、+=、およびその他の割り当てのような操作が (多くの理由で) Void を返すという点で、既に C から逸脱しています。これらの演算子は、そのモデルと矛盾しています。

  4. Swift には、他の言語の C スタイルの for ループで ++i を使用する一般的な理由の多くを排除する強力な機能があるため、適切に作成された Swift コードでこれらが使用されることは比較的まれです。これらの機能には、for-in ループ、範囲、列挙、マップなどが含まれます。

  5. これらの演算子の結果値を実際に使用するコードは、多くの場合、コードのリーダー/メンテナーにとってわかりにくく、わかりにくいものです。彼らは、かわいいかもしれないが理解するのが難しい「過度にトリッキーな」コードを奨励しています。

  6. Swift では評価の順序が明確に定義されていますが、それに依存するコード (foo(++a, a++) など) は、明確に定義されていたとしても望ましくありません。

  7. これらの演算子は、比較的少数の型 (整数および浮動小数点スカラー、および反復子のような概念) に適用できます。複素数、行列などには適用されません。

最後に、これらは「まだ持っていない場合、Swift 3 に追加しますか?」というメトリックに失敗します。

詳細については、 Swift の進化を確認してください。

于 2016-03-23T08:29:15.900 に答える