最終更新:2017-05-19 (金) 03:43:57 (2531d)  

Swift 3.0
Top / Swift 3.0

2016/09/13

Swift 3.0で廃止された12件の仕様

  • Swift 3.0で廃止されたのは、以下の12件である。
    SE-0002カリー化関数の構文の廃止
    SE-0003関数引数へのvar指定の廃止
    SE-0004++?--?演算子の廃止
    SE-0007Cスタイルのforループの廃止
    SE-0029タプルを関数引数に与えたときに暗黙的に展開・適用される仕様の廃止
    SE-0053関数引数へのlet明示指定を廃止 上述のSE-0003の廃止により明示指定の必要性がなくなったため
    SE-0102呼び出し元に制御を戻さない@noreturn属性が廃止されて、Never列挙型を戻り値型として指定するように変更
    SE-0072Swift標準ライブラリの型とFoundationの型の暗黙的な変換を完全に削除
    SE-0109Booleanプロトコルを廃止してBool構造体を直接利用するように変更
    SE-0111関数の型の一部として関数の引数ラベルを考慮していた仕様を廃止して、型システムをシンプルに
    SE-0121</>/<=/=>の4つの比較演算子でOptional型の値を受けられないように: ジェネリクスが成熟しないと正確な実装が不可能なため、現状の中途半端な仕様をいったん廃止して、将来の対応に備える(Swift 3.0が破壊的変更をしやすいタイミングのため)
    SE-0125NonObjectiveCBaseクラス/isUniquelyReferenced?関数を廃止して、isUniquelyReferencedNonObjCに統合

メモ

  • 関数の第1パラメータにもラベル必須化
    • 以前のコードとの互換性のために、第一引数のラベルに省略(_)を指定することもできる

変更点

  • 1. 「++ 演算子」、「-- 演算子」 の 廃止
  • 2. C言語 スタイル の「 for ループ 文」 の 廃止
  • 3. 関数( メソッド) の パラメータ での「 var 宣言」 の 廃止
  • 4. 関数( メソッド) の 第 1 パラメータ にも ラベル 必須 化
  • 5. 「♯selector」 への 変更
  • 6. 「♯keyPath?」 への 変更
  • 7. 型名 の 先頭 の「 NS」 を 削除
  • 8. Grand Central Dispatch( GCD) の 変更
  • 9. Core Graphics の 変更
  • 10. 関数 の ネーミング・ルール の 変更
    • 戻り値のある関数 は、関数名に「ed」がサフィックス(後置)として付けられた
      reversereversed
      enumerateenumerated
      sortsorted
      sortInPlace?sort

マーク 山崎. Swiftに挫折しそうになった人のための   さらさら読めるSwift解説 (Kindle の位置No.287). Kindle 版.

  • 11. 「@discardableResult?」 の 追加
  • 12. アクセス制御 属性「fileprivate?」 と「open」 の 追加
  • 13. 列挙 子 の CASE ラベル/ プロパティ の 記述 が「 lower Camel Case」 に 変更
  • 14. 「where 条件 句」 の 適用 できる 条件文 の 変更
  • 15. 有 値 オプショナル 型 が、 オプショナル 型 として 統合 さ れ まし た
  • 16. 区間 型 は すべて「 Range 型」 に 集約
  • 17. クロージャ は、 デフォルト で「 No Escaping」

マーク 山崎. Swiftに挫折しそうになった人のための   さらさら読めるSwift解説 (Kindle の位置No.52-65). Kindle 版.

参考