最終更新:2017-05-19 (金) 03:43:57 (2506d)
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-0007 Cスタイルのforループの廃止 SE-0029 タプルを関数引数に与えたときに暗黙的に展開・適用される仕様の廃止 SE-0053 関数引数へのlet明示指定を廃止 上述のSE-0003の廃止により明示指定の必要性がなくなったため SE-0102 呼び出し元に制御を戻さない@noreturn属性が廃止されて、Never列挙型を戻り値型として指定するように変更 SE-0072 Swift標準ライブラリの型とFoundationの型の暗黙的な変換を完全に削除 SE-0109 Booleanプロトコルを廃止してBool構造体を直接利用するように変更 SE-0111 関数の型の一部として関数の引数ラベルを考慮していた仕様を廃止して、型システムをシンプルに SE-0121 </>/<=/=>の4つの比較演算子でOptional型の値を受けられないように: ジェネリクスが成熟しないと正確な実装が不可能なため、現状の中途半端な仕様をいったん廃止して、将来の対応に備える(Swift 3.0が破壊的変更をしやすいタイミングのため) SE-0125 NonObjectiveCBaseクラス/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」がサフィックス(後置)として付けられた
reverse reversed enumerate enumerated sort sorted sortInPlace? sort
- 戻り値のある関数 は、関数名に「ed」がサフィックス(後置)として付けられた
マーク 山崎. 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 版.