Swift 5.0 日本語化計画 : Swift 5.0


マニュアルの変更履歴


この表では、Swift プログラミング言語 の変更点について説明します。


日付ノート
2020-02-05
  • Swift 5.2 用に更新しました。
  • クラス、構造体、および列挙型のインスタンスを関数呼び出し構文で使用できる文法シュガーに関する情報を含む 特別な名前のメソッド セクションを追加しました。
  • サブスクリプトがデフォルト値のパラメータをサポートするようになったため、サブスクリプトのオプション セクションを更新しました。
  • Self をより多くのコンテキストで使用できるようになったため、Self 型 セクションを更新しました。
2019-09-10
  • Swift 5.1 用に更新しました。
  • 指定された名前付きの戻り値の型を提供する代わりに、それらの戻り値が準拠するプロトコルを指定する関数に関する情報を 不透明(Opaque) 型 の章に追加しました。
  • プロパティラッパーに関する情報を プロパティラッパー セクションに追加しました。
  • ライブラリの進化のために frozen されている情報の列挙型と構造体を frozen セクションに追加しました。
  • 暗黙の戻り値を持つ関数 と、ゲッタ宣言の省略形 セクションに、return を省略する関数に関する情報を追加しました。
  • 型のサブスクリプトの使用に関する情報を 型サブスクリプト セクションに追加しました。
  • 列挙型 case パターンが optional 値と一致できるようになったため、列挙型 case パターン セクションを更新しました。
  • メンバー化イニシャライザがデフォルト値を持つプロパティのパラメータの省略をサポートするようになったため、構造体型のためのメンバ化イニシャライザ セクションを更新しました。
  • 実行時にキーパスで検索される動的メンバーに関する情報を dynamicMemberLookup セクションに追加しました。
  • 条件コンパイルブロック のターゲット環境のリストに macCatalyst を追加しました。
  • Self を使用して、現在のクラス、構造体、または列挙型宣言によって導入された型を参照できるようになったため、Self 型 セクションを更新しました。
2019-03-25
  • Swift 5.0 用に更新しました。
  • 拡張した文字列の区切り文字 セクションを追加し、拡張ストリング区切り文字に関する情報で 文字列のリテラル セクションを更新しました。
  • dynamicCallable 属性を使用して関数として動的にインスタンスを呼び出すことに関する情報を含む dynamicCallable 節を追加しました。
  • unknown の Switch case 属性を使用して switch 文で将来の列挙型 case を処理する方法についての情報を含む、将来の列挙型 case の切り替えunknown 節を追加しました。
  • キーパス式 節に ID キーパス (\ .self) に関する情報を追加しました。
  • プラットフォーム条件での小なり (<) 演算子の使用に関する情報を 条件コンパイルブロック 節に追加しました。
2018-09-17
  • Swift 4.2 用に更新しました。
  • 列挙型のケースのすべてにアクセスすることに関する情報を 列挙型 case の繰り返し処理 節に追加しました。
  • #error#warning に関する情報を コンパイル時診断文 の節に追加しました。
  • インライン化に関する情報を inlinable および usageFromInline 属性の下の 宣言の属性 節に追加しました。
  • 実行時に名前で検索されるメンバーに関する情報を dynamicMemberLookup 属性の下の 宣言の属性 節に追加しました。
  • require_stored_property_inits および warn_unqualified_access 属性についての情報を 宣言の属性 節に追加しました。
  • 使用されている Swift コンパイラのバージョンに応じてコードを条件付きでコンパイルする方法に関する情報を 条件コンパイルブロック 節に追加しました。
  • #dsohandle に関する情報を リテラル式 節に追加しました。
2018-03-29
2017-12-04
  • Swift 4.0.3 用に更新しました。
  • キーパス式 の節を更新し、key path(キーパス) がサブスクリプト成分をサポートするようになりました。
2017-09-19
2017-03-27
  • Swift 3.1 用に更新しました。
  • 汎用の Where 句を含む拡張機能 句と、要件を含む拡張機能に関する情報を追加しました。
  • For-In ループ 節に、範囲を超えた反復の例を追加しました。
  • 失敗可能イニシャライザ 節へ失敗可能数値変換の例を追加しました。
  • Swift 言語バージョンで available 属性を使用する方法について、宣言の属性 節に情報を追加しました。
  • 関数型 の説明を更新して、関数型を書く際には引数ラベルが使用できないことに注意しました。
  • optional のパッチ番号が許可されたので、条件コンパイルブロック 節で Swift 言語バージョン番号の説明を更新しました。
  • Swift が複数のパラメータをとる関数とタプル型の 1 つのパラメータを取る関数とを区別するようになったので、関数型 節の説明を更新しました。
  • の章から、dynamic Type 式の節を削除しました。今や type(of:) は Swift 標準ライブラリの関数です。
2016-10-27
  • Swift 3.0.1 用に更新しました。
  • 自動参照カウント の章の弱い参照と所有されていない参照についての議論を更新しました。
  • unowned, unowned(safe), 及び unowned(unsafe) 宣言修飾子に関する情報を、宣言修飾子 の節に追加しました。
  • Any 型の値が期待されるときに optional の値を使用することについて、Any と AnyObjecgt 用の型キャスティング 節に注意を追加しました。
  • の章を更新して、カッコで囲まれた式とタプル式の議論を分けました。
2016-09-13
  • Swift 3.0 用に更新しました。
  • 関数 の章と 関数の宣言 節の関数の議論を更新し、すべてのパラメータがデフォルトで引数ラベルを取得することに注意しました。
  • 高度な演算子 の章の演算子の議論を更新し、グローバル関数の代わりに型メソッドとしてそれらを実装するようになりました。
  • アクセス制御 の章に、open および fileprivate のアクセスレベルの修飾子に関する情報を追加しました。
  • 関数の宣言 節 の inout の議論を更新し、パラメータの名前の前の代わりにパラメータの型の前に表示するように注意しました。
  • クロージャのエスケープ と、オートクロージャ 節と 属性 の章の @noescape 属性と @autoclosure 属性の議論を更新し、宣言属性ではなく型属性であるとしました。
  • 高度な演算子 の章の カスタム挿入辞演算子の優先順位 節および 宣言 の章の 優先順位グループ宣言 節に、演算子優先順位グループに関する情報を追加しました。
  • OS X の代わりに macOS、ErrorProtocol の代わりに ErrorStringLiteralConvertible の代わりに ExpressibleByStringLiteral のようなプロトコル名を使用するように議論全体を更新しました。
  • ジェネリック(汎用) 章の 汎用の Where 句 節と 汎用パラメータと引数 章の議論を更新し、ここでは汎用の where 句が宣言の末尾に書かれています。
  • クロージャのエスケープ 節の議論を更新し、デフォルトではクロージャはエスケープするものではありません。
  • Swift の基本 章の Optional の結合 節と、 章の While 文 節の議論を更新し、if、with、 および guard 文が where 句なしのカンマ区切りの条件リストを使用するようになりました。
  • 複数のパターンを持つ switch の case に関する情報を、フロー制御 の章の Switch 節と、 の章の switch 文 節に追加しました。
  • 関数の引数のラベルがもはや関数の型の一部でなくなったので、関数型 の節の関数型の議論を更新しました。
  • Protocol の章の プロトコルの構成 節および の章の プロトコル構成の型 節で、新しい Protocol1 & Protocol2 構文を使用するようにプロトコル構成の型の議論を更新しました。
  • dynamic Type 式 の議論を更新し、新しい type(of:) 構文を dynamic Type 式で使用するように更新しました。
  • 行制御文 節の #sourceLocation(file:line :) 構文を使用するように、行制御文の議論を更新しました。
  • 新しい Never 型を使用する Never を返す関数 についての議論を更新しました。
  • プレイグラウンドリテラルに関する情報を リテラル式 節に追加しました。
  • In-Out パラメータ 節の説明を更新し、エスケープしないクロージャのみが In-Out パラメータをキャプチャできることに注意しました。
  • デフォルトのパラメータ値 節のデフォルトパラメータについての議論を更新し、関数呼び出しでは再順序付けできなくなりました。
  • 属性 の章でコロンを使用するように属性引数を更新しました。
  • Rethrow する関数とメソッド の節に、rethrow する関数の catch ブロック内にエラーを throw する方法についての情報を追加しました。
  • Objective-C プロパティのゲッタまたはセッタのセレクターにへのアクセスに関する情報を、セレクタ式 に追加しました。
  • 型エイリアス宣言 節に、汎用型エイリアスとプロトコル内での型エイリアスに関する情報を追加しました。
  • 関数型 節の関数型についての議論を更新し、パラメータ型の前後の括弧が必要であることに注意しました。
  • 属性 の章を更新して、@IBAction、@IBOutlet、 および @NSManaged の属性が @objc 属性を意味することに注意しました。
  • 宣言の属性 節に、@GKInspectable 属性に関する情報を追加しました。
  • Objective-C と相互運用するコードでのみ使用されることを明確にするために、Optional のプロトコル要件 節の optional のプロトコル要件についての議論を更新しました。
  • 関数の宣言 節からの関数パラメータでの let を明示的に使用する事についての議論を削除しました。
  • Boolean プロトコルの議論を の章から削除しました。今やプロトコルは Swift 標準ライブラリから削除されました。
  • 宣言の属性 節の @NSApplicationMain 属性の議論を修正しました。
2016-03-21
  • Swift 2.2 用に更新しました。
  • 条件コンパイルブロック 節に、使用されている Swift のバージョンに応じて、条件付きでコードをコンパイルする方法に関する情報を追加しました。
  • 明示的なメンバ式 の節に引数の名前だけが異なるメソッドまたはイニシャライザの名前を区別する方法に関する情報を追加しました。
  • Objective-C セレクタの #selector 構文に関する情報を セレクタ式 の節に追加しました。
  • 関連型 および プロトコルに関連した型の宣言 節で associatedtype キーワードを使用するように関連型の議論を更新しました。
  • 失敗可能イニシャライザ 節でインスタンスが完全に初期化される前に nil を返すイニシャライザについての情報を更新しました。
  • 比較演算子 節にタプルの比較に関する情報を追加しました。
  • キーワードと句読点 節に外部パラメータ名としてキーワードを使用する方法についての情報を追加しました。
  • 宣言の属性 節の @objc 属性の議論を更新し、列挙型および列挙型 case でこの属性を使用できることに注意しました。
  • 演算子 節に、ドットを含むカスタム演算子の議論を更新しました。
  • Rethrow する関数とメソッド の節に、rethrow する関数は直接エラーを throw できないという注意を追加しました。
  • in-out パラメーターとしてプロパティーを渡すときに呼び出されるプロパティの監視者について、プロパティの監視者 節に注意を追加しました。
  • Swift のツアー の章にエラー処理の節を追加しました。
  • 弱い参照 節の図を更新して、割り当て解除プロセスをより明確に示しました。
  • C スタイルの for ループ、++ 接頭辞と接尾辞演算子、及び-- 接頭辞と接尾辞演算子の議論を削除しました。
  • 可変関数引数とカリー関数の特別な構文の議論を削除しました。
2015-10-20
2015-09-16
2015-04-08
  • Swift 1.2 用に更新しました。
  • Swift は、ネイティブの Set コレクション型を持つようになりました。詳細については、セット を参照してください。
  • @autoclosure は、今やパラメータ宣言の属性であり、その型ではありません。新しい @noescape パラメータ宣言属性もあります。詳細については、宣言の属性 を参照してください。
  • 型メソッドとプロパティは、今や宣言修飾子として、 static キーワードを使用するようになりました。詳細については、 型変数プロパティ を参照してください。
  • Swift は、今や as?as! 失敗可能ダウンキャスト演算子を含んでいます。詳細については、 プロトコル準拠の確認 を参照してください。
  • 文字列のインデックス に関する新しいガイドを追加しました。
  • オーバーフロー演算子 から、オーバーフロー除算 (&/) とオーバーフロー剰余(&%) を削除しました。
  • 定数と定数プロパティ宣言と初期化のための規則を更新しました。詳細については、定数の宣言 を参照してください。
  • 文字列リテラルでの Unicode スカラーの定義を更新しました。文字列リテラルの中の特別の文字を参照してください。
  • 同じ開始と終了インデックスを持つ半開放範囲が空になることに注意するように 範囲演算子 を更新しました。
  • 変数のキャプチャルールを明確化するために、 クロージャは参照型 を更新しました。
  • 符号付きと符号なし整数のオーバーフローの動作を明確にするために、 値オーバーフロー を更新しました。
  • プロトコル宣言の範囲とメンバーを明確にするため、 プロトコルの宣言 を更新しました。
  • クロージャのキャプチャリストに weak と unowned 参照の構文を明確にするために キャプチャリストの定義 を更新しました。
  • 算術演算子、その他の記号、および Dingbats Unicode のブロックのようなスタム演算子でサポートされている文字の例を明示的に言及するため、 演算子 を更新しました。
  • 定数は今や、ローカル関数の範囲で初期化されずに宣言できます。それらは、最初に使用する前に、設定した値を持っていなければなりません。詳細については、 定数の宣言 を参照してください。
  • イニシャライザでは、定数のプロパティは今や一度だけ値を代入できます。詳細については、 初期化中に定数プロパティへの代入 を参照してください。
  • 複数の optional の結合は今や、一つの if 文の代入式の、コンマ区切りのリストとして表示できます。詳細については、 Optional の結合 を参照してください。
  • Optional の連鎖式 は、接尾辞式内に表示されなければなりません。
  • プロトコル・キャストはもはや、 @objc プロトコルに限定されません。
  • 実行時に失敗しうる型キャストは今や、as?as! 演算子を使用し、型キャストは as 演算子を使用すれば落ちないことが保証されています。詳細については、 型キャスト演算子 を参照してください。
2014-10-16
  • Swift 1.1 用に更新しました。
  • 失敗可能イニシャライザ への完全なガイドを追加しました。
  • プロトコル用の 失敗可能イニシャライザの要件 の記述を追加しました。
  • 定数と Any 型の変数は、今や関数のインスタンスを含めることができるようになりました。Any と AnyObjecgt 用の型キャスティング の例を更新し、switch 文内の関数型にキャストしチェックする方法を示しました。
  • 生の値を持つ列挙型は、toRaw() メソッドと言うより rawValue プロパティを持つようになり、fromRaw() メソッドを持つより rawValue パラメータを持つ失敗可能イニシャライザを持っています。詳細については、生の値生の値型のケースを列挙 を参照してください。
  • 初期化の失敗を引き起こしうる、失敗可能イニシャライザ に関する新しい参照節を追加しました。
  • カスタムの演算子は、今や ? 文字を含めることができるようになりました。改訂されたルールを記述する 演算子 の参照を更新しました。カスタム演算子 から演算子文字の有効なセットの重複した説明を削除しました。
2014-08-18
  • iOS と OS X アプリをビルドするためのアップルの新しいプログラミング言語である Swift 1.0 についての新しい文書。
  • プロトコルにおける イニシャライザの要件 についての新しい節を追加しました。
  • クラス専用プロトコル についての新しい節を追加しました。
  • アサーション(断言) は、今や文字列の補間を使用できるようになりました。逆に注意を削除しました。
  • StringCharacter の値はもはや加算演算子 (+) 又は加算代入演算子 (+=) で組み合わせることができないという事実を反映するように 文字列と文字を連結 節を更新しました。これらの演算子は、今や、String 値のみで使用できます。文字列の末尾に、一つの Character 値を追加する String 型の append(_:) メソッドを使用して下さい。
  • 宣言の属性 の節に availability 属性の情報を追加しました。
  • Optionals(任意) は、optional の Bool 値を操作する場合、混乱を避けるために、値と偽を持っている場合はもはや暗黙的に true に評価せず、値を持っていない時は false と評価しません。その代わりに、optional が値を含んでいるかどうかを調べるには == または != 演算子で nil に対して明示的なチェックを行います。
  • Swift は、存在している場合 optional の値を開封し、または optional が nil の場合、デフォルト値を返す、Nil 合体演算子 (a ?? b) を、今や持っています。
  • 文字列の比較 節を更新し、拡張し、文字列と文字の比較および接頭辞/接尾辞比較は拡張書記素クラスタのユニコード標準的な同値に基づく事を反映し、実証するようになりました。
  • これで、プロパティの値を設定し、サブスクリプトに代入し、または変異メソッドや Optional の連鎖 を通じて演算子を呼び出すことを試みることができるようになりました。したがって、Optional の連鎖を使用したプロパティへのアクセス に関する情報を更新し、Optional の連鎖を通じてメソッドを呼び出す で、メソッド呼び出しの成功の確認の例は、プロパティの設定の成功をチェックする方法を示すために拡張されています。
  • optional の連鎖を通じて Optional 型のサブスクリプトにアクセス についての新しい節を追加しました。
  • 配列のアクセスと変更 の節を更新し、もはや += 演算子で配列に一つの項目を追加することはもはやできなくなった事を更新しました。その代わりに、append(_:) メソッドを使用するか、+= 演算子で一つの項目の配列を追加して下さい。
  • 範囲演算子 a...ba..<b の開始値 a は、終了値 b よりも大きくできないと言う注意を追加しました。
  • イニシャライザオーバーライドのその導入範囲を取り去るために 継承 の章を書き直しました。この章では、今やサブクラスの新機能の追加、およびオーバーライドする既存の機能性の変更に焦点を当てています。プロパティのゲッタとセッタのオーバーライド のこの章の例は、description プロパティをオーバーライドする方法を示すために書き直されました。(サブクラスイニシャライザで継承されたプロパティのデフォルト値を変更する例は 初期化 の章に移動しました。)
  • イニシャライザ継承とオーバーライド 節を更新し、指定イニシャライザのオーバーライドは override 修飾子でマークしなければならないことを注意しました。
  • 必須ニシャライザ 節を更新し、required 修飾子が、必須イニシャライザのすべてのサブクラスの実装の前に書かれていること、および必須イニシャライザの要件は自動的に継承されたイニシャライザによって満たされることを注意しました。
  • 挿入辞 演算子メソッド は、もはや @infix 属性を必要としません。
  • 接頭辞と接尾辞演算子@prefix@postfix 属性は、prefixpostfix の宣言修飾子に置き換えられました。
  • 接頭辞と接尾辞演算子の両方が同じオペランドに適用された場合、接頭辞と接尾辞演算子 のどちらが適用されるかの順序に関する注意を追加しました。
  • 関数を定義するときに 複合代入演算子 の演算子関数は、もはや @assignment 属性を使用しません。
  • カスタム演算子 を定義する際の修飾子が指定される順序が変更されました。これで、例えば、operator prefix ではなく、prefix operator と記述できます。
  • 宣言修飾子dynamic 宣言修飾子についての情報を追加しました。
  • 型推測が リテラル でどのように機能するかについての情報を追加しました。
  • カリー化関数に関する詳細情報を追加しました。
  • アクセス制御についての新しい章を追加しました。
  • 文字列と文字 の章を更新し、Swift の Character 型が今や1つの Unicode 拡張書記素クラスタを表しているという事実を反映しています。拡張書記クラスタ の新しい節を含み、Unicode スカラー文字列の比較、の多くの情報を含みます。
  • 文字列リテラル の節を更新し、文字列リテラル内部の Unicode スカラーは、 \u{n} と書かれるようになり、ここで n は 0 から 10FFFF の間の16進数であり、Unicode のコードスペースの範囲であると注意しました。
  • NSString length プロパティは、utf16count ではなく utf16Count として Swift 生まれの String 型に今や配置されています。
  • Swift 生まれの String 型は、もはや uppercaseStringlowercaseString プロパティを持っていません。文字列と文字 の対応する節は削除され、そして、様々なコードの例が更新されました。
  • 引数ラベルのないイニシャライザのパラメータ に関する新しい節を追加しました。
  • 必須イニシャライザ についての新しい節を追加しました。
  • optional のタプル型の戻り値 についての新しい節を追加しました。
  • 型の注釈 の節を更新し、複数の関連した変数が1つの型注釈を持つ単一の行で定義できることを注意しました。
  • @optional,@lazy,@final, および @required 属性は、今や、optional, lazy, final,そして required宣言修飾子 となりました。
  • ..< を参照する部分を(「半閉鎖範囲演算子」というよりも)半開放範囲演算子 として本全体を更新しました。
  • Dictionary のアクセスと変更 の節を更新し、Dictionary にブール値の isEmpty プロパティがあることに注意しました。
  • カスタム演算子 を定義するときに使用できる文字の完全なリストを明らかにしました。
  • nil とブール値 truefalseリテラル になりました。
  • Swift の Array 型は今や、完全な値の意味を持っています。新しいアプローチを反映する コレクションの可変性配列 に関する情報を更新しました。また、文字列、配列、辞書の割り当てとコピーの動作 を明らかにしました。
  • 配列型省略構文 は今や、SomeType[] ではなく [SomeType] と書かれます。
  • Dictionary 型の省略型構文 の新しい節を追加し、これは[KeyType: ValueType] のように記述されます。
  • Dictionary キー型のハッシュ値 についての新しい節を追加しました。
  • セット型のハッシュ値 に関する新しい節を追加しました。
  • クロージャ式 の例は、今や新しい配列値の意味を反映するために、グローバルな sort(_:_:) 関数ではなく、グローバルな sorted(_:_:) 関数を使用します。
  • メンバ化構造体イニシャライザは、構造体の格納されたプロパティが、デフォルト値を持っていない場合でも使用可能になったことを明確にするため、構造体型のためのメンバ化イニシャライザ に関する情報を更新しました。
  • 半開放範囲演算子.. から ..< に更新しました。
  • 汎用型の拡張 の例を追加しました。


前:文法のまとめ

<BETA SOFTWARE>
このドキュメントには、開発中の API または技術に関する予備的な情報が含まれています。この情報は変更されることがあり、このドキュメントに従って実装されたソフトウェアは、最終的なオペレーティングシステムソフトウェアでテストする必要があります。

Apple の Beta ソフトウエアについての詳細


















トップへ












トップへ












トップへ












トップへ
目次
Xcode 11 の新機能

Swift について
Swift と Cocoa と Objective-C (obsolete)
Swift Blog より (obsolete)

SwiftLogo
  • Swift 5.0 全メニュー


  • Swift へようこそ
  • Swift について

  • Swift 言語のガイド

  • 言語リファレンス


  • マニュアルの変更履歴













  • トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ