マニュアルの変更履歴


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


日付ノート
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(_:_:) 関数を使用します。
  • メンバ化構造体イニシャライザは、構造体の格納されたプロパティが、デフォルト値を持っていない場合でも使用可能になったことを明確にするため、構造体型のためのメンバ化イニシャライザ に関する情報を更新しました。
  • 半開放範囲演算子.. から ..< に更新しました。
  • 汎用型の拡張 の例を追加しました。





前:文法のまとめ

目次
Xcode 9 の新機能

Swift:はじめに
Swift と Cocoa と Objective-C
Swift Blog より

  • ようこそ Swift へ(Part I)
  • Swift について
  • バージョン互換性
  • Swift のツアー
  • 単純な値
    制御フロー
    関数とクロージャ
    オブジェクトとクラス
    列挙型と構造体
    プロトコルと拡張機能
    エラー処理
    汎用(ジェネリック)
  • Swift 言語のガイド(Part II)
  • Swift の基本
  • 定数と変数
  • 定数と変数の宣言
    型注釈
    定数と変数の命名
    定数と変数の印刷
    コメント
    セミコロン
  • 整数
  • 整数の境界
    Int
    UInt
    浮動小数点数
    安全な型と型推論
    数値リテラル
  • 数値型変換
  • 整数変換
    整数と浮動小数点間の変換
    型エイリアス
    ブール型
    タプル
  • Optional
  • nil
    if 文と強制開封
    Optional の結合
    暗黙に開封された Optionals
    エラー処理
  • アサーション(断言)と前提条件
  • アサーションを使用したデバッグ
    前提条件の実施
  • 基本演算子
  • 専門用語
    代入演算子
  • 算術演算子
  • 剰余演算子
    単項マイナス演算子
    単項プラス演算子
    複合代入演算子
    比較演算子
    三項条件演算子
    Nil 合体演算子
  • 範囲演算子
  • 閉鎖範囲演算子
    半開放範囲演算子
    片方の範囲
  • 論理演算子
  • 論理 NOT 演算子
    論理 AND 演算子
    論理 OR 演算子
    論理演算子の組み合わせ
    明示的な括弧
  • 文字列と文字
  • 文字列リテラル
    複数行の文字列リテラル
    文字列リテラル内の特殊文字
    空の文字列の初期化
    文字列の可変性
    文字列は値の型
    文字を使った作業
    文字列と文字を連結
    文字列補間
  • ユニコード(Unicode)
  • Unicode スカラー
    文字列リテラルの中の特別の文字
    拡張書記クラスタ
    文字を数える
  • 文字列のアクセスと変更
  • 文字列のインデックス
    部分文字列
    挿入と削除
  • 文字列の比較
  • 文字列と文字の等価性
    接頭辞と接尾辞の等価性
  • 文字列の Unicode 表現
  • UTF-8 の表現
    UTF-16 表現
    Unicode のスカラー表現
  • コレクション型
  • コレクションの可変性
  • 配列
  • 配列型省略構文
    空の配列の作成
    デフォルト値を持つ配列の作成
    2つの配列を共にして一つの配列に
    配列リテラルでの配列の作成
    配列へのアクセスと変更
    配列の繰り返し処理
  • セット
  • セット型のハッシュ値
    セット型の構文
    空のセットの作成と初期化
    配列リテラルでセットの作成
    セットへのアクセスと変更
    セットを反復処理
  • セット操作の実行
  • 基本的なセットの操作
    セットの身分と等価性
  • Dictionary
  • Dictionary 型の省略型構文
    空の Dictionary を作成
    Dictionary リテラルで Dictionary の作成
    Dictionary のアクセスと変更
    Dictionary を繰り返し処理
  • フロー制御
  • For-In ループ
  • While ループ
  • While
    Repeat-While
  • 条件文
  • if 文
  • Switch
  • 暗黙の Fallthrough なし
    範囲の一致
    タプル(Tuples)
    値の結合
    Where
    複合した case
  • 制御転送文
  • Continue
  • Break
  • ループ文内の Break
    Switch 文内の Break
    Fallthrough
    ラベル付きの文
    早期終了
    API 利用可能性の確認
  • 関数
  • 関数の定義と呼び出し
  • 関数のパラメータと戻り値
  • パラメータなしの関数
    複数パラメータの関数
    戻り値なしの関数
    複数の戻り値を持つ関数
    optional のタプル型の戻り値
  • 関数引数のラベルとパラメータ名
  • 引数のラベルの指定
    引数ラベルの省略
    デフォルトのパラメータ値
    可変個引数のパラメータ
    In-Out パラメータ
  • 関数型
  • 関数型の使用
    パラメータ型としての関数型
    戻り値の型としての関数型
    入れ子になった関数
  • クロージャ
  • クロージャ式
  • ソートするメソッド
    クロージャ式の構文
    文脈から型を推論
    単一式クロージャからの暗黙的戻り値
    引数名の省略
    演算子メソッド
    後続クロージャ
    値のキャプチャ
    クロージャは参照型
    クロージャのエスケープ
    オートクロージャ
  • 列挙型
  • 列挙型の構文
    switch 文で列挙型の値の一致
    関連する値
  • 生の値
  • 暗黙に割り当てられた生の値
    生の値からの初期化
    再帰的な列挙型
  • クラスと構造体
  • クラスと構造体を比較
  • 定義の構文
    クラスと構造体のインスタンス
    プロパティにアクセス
    構造体型のためのメンバー化イニシャライザ
    構造体と列挙型は値型
  • クラスは参照型
  • ID 演算子
    ポインタ
    クラスと構造体の間の選択
    文字列、配列、辞書の代入とコピーの動作
  • プロパティ
  • 格納されたプロパティ
  • 定数構造体インスタンスの格納されたプロパティ
    遅延した格納されたプロパティ
    格納されたプロパティとインスタンス変数
  • 計算されたプロパティ
  • セッタ宣言の省略形
    読み取り専用の計算されたプロパティ
    プロパティ監視者
    グローバルとローカル変数
  • 型プロパティ
  • 型プロパティの構文
    型プロパティの照会と設定
  • メソッド
  • インスタンスメソッド
  • self プロパティ
    インスタンスメソッド内から値の型を変更
    変異メソッド内で self に代入
    型メソッド
  • サブスクリプト
  • サブスクリプトの構文
    サブスクリプトの使用法
    サブスクリプトのオプション
  • 継承
  • 基本クラスの定義
    サブクラス化
  • オーバーライド(上書き)
  • スーパークラスメソッド、プロパティ、サブスクリプトへのアクセス
    オーバーライドするメソッド
  • オーバーライドするプロパティ
  • プロパティのゲッタとセッタのオーバーライド
    プロパティ監視者のオーバーライド
    オーバーライドの防止
  • 初期化
  • 格納されたプロパティの初期値を設定
  • イニシャライザ
    デフォルトのプロパティ値
  • 初期化のカスタマイズ
  • 初期化パラメータ
    パラメータ名と引数ラベル
    引数ラベルのないイニシャライザのパラメータ
    Optional のプロパティ型
    初期化中に定数プロパティへの代入
  • デフォルトのイニシャライザ
  • 構造体型のためのメンバ化イニシャライザ
    値型のイニシャライザデリゲート
  • クラスの継承と初期化
  • 指定イニシャライザとコンビニエンスイニシャライザ
    指定とコンビニエンスイニシャライザの構文
    クラス型のイニシャライザデリゲート
    二相の初期化
    イニシャライザ継承とオーバーライド
    自動イニシャライザの継承
    実際の指定とコンビニエンスイニシャライザ
  • 失敗可能イニシャライザ
  • 生の値を持つ列挙型のための失敗可能イニシャライザ
    初期化失敗の伝播
    失敗可能イニシャライザのオーバーライド
    init! の失敗可能イニシャライザ
    必須イニシャライザ
    クロージャや関数でのデフォルトのプロパティ値設定
  • デイニシャライザ
  • デイニシャライザはどのように働くか
    作動中のデイニシャライザ
  • Optional の連鎖
  • 強制開封の代替としての Optional の連鎖
    Optional の連鎖のモデルクラスの定義
    Optional の連鎖を使用したプロパティへのアクセス
    Optional の連鎖を通じてメソッドを呼び出す
  • Optional の連鎖を通じてサブスクリプトへのアクセス
  • Optional 型のサブスクリプトにアクセス
    連鎖の複数レベルのリンク
    optional の戻り値を持つメソッドでの連鎖
  • エラー処理
  • エラーの表現と Throw
    エラーの処理
    throw 関数を使用したエラーの伝播
    Do-Catch を使用したエラー処理
    エラー をOptional の値に変換
    エラー伝播を無効に
    クリーンアップアクションの指定
  • 型キャスト
  • 型キャストのためのクラス階層の定義
    型のチェック
    ダウンキャスト
  • Any と AnyObjecgt 用の型キャスティング
  • ネストした型
  • 実際のネストした型
    ネストした型への参照
  • 拡張機能
  • 拡張機能の構文
    計算されたプロパティ
    イニシャライザ
  • メソッド
  • 変異インスタンスメソッド
    サブスクリプト
    ネストした型
  • プロトコル
  • プロトコルの構文
    プロパティの要件
    メソッドの要件
    変異メソッドの要件
  • イニシャライザの要件
  • プロトコルイニシャライザ要件のクラス実装
    失敗可能イニシャライザの要件
    型としてのプロトコル
    デリゲート
  • 拡張機能を持つプロトコル準拠の追加
  • 拡張機能を持つプロトコルの採用を宣言
    プロトコル型のコレクション
    プロトコルの継承
    クラス専用プロトコル
    プロトコルの構成
    プロトコル準拠の確認
    Optional のプロトコル要件
  • プロトコル拡張機能
  • デフォルトの実装の提供
    プロトコル拡張機能に制約を追加
  • ジェネリック(汎用)
  • 汎用が解決する問題
    汎用関数
    型パラメータ
    型パラメータの命名
    汎用の型
    汎用型の拡張
  • 型の制約
  • 型制約の構文
    実際の型の制約
  • 関連型
  • 実際の関連型
    既存の型を拡張して関連型を指定
    型注釈を使用して関連型を制約
    汎用の Where 句
    汎用の Where 句を含む拡張機能
    関連する型と汎用の Where 句
    汎用のサブスクリプト
  • 自動参照カウント
  • どのように ARC は働くか
    実際の ARC
    クラスインスタンス間の強い循環参照
  • クラスインスタンス間の強い循環参照の解決
  • 弱い参照
    所有されていない参照
    所有されていない参照と暗黙に開封された Optional のプロパティ
    クロージャの strong な循環参照
  • クロージャの strong な循環参照の解決
  • キャプチャリストの定義
    弱い参照と所有されていない参照
  • メモリの安全性
  • メモリへのアクセス競合の理解
    メモリアクセスの特徴
    In-Out パラメータへのアクセスの競合
    メソッド内の Self へのアクセスの競合
    プロパティへのアクセスの競合
  • アクセス制御
  • モジュールとソースファイル
  • アクセスレベル
  • アクセスレベルの全体的指針
    デフォルトのアクセスレベル
    ターゲット一つのアプリのアクセスレベル
    フレームワークのアクセスレベル
    ユニットテストのターゲット用のアクセスレベル
    アクセス制御の構文
  • カスタム型
  • タプル型
    関数型
  • 列挙型
  • 生の値と関連する値
    ネストした型
    サブクラス化
  • 定数、変数、プロパティ、およびサブスクリプト
  • ゲッタとセッタ
  • イニシャライザ
  • デフォルトのイニシャライザ
    構造体型用のデフォルトメンバ化イニシャライザ
  • プロトコル
  • プロトコルの継承
    プロトコルの準拠
  • 拡張機能
  • 拡張機能の private メンバ
    汎用
    型エイリアス
  • 高度な演算子
  • ビット単位演算子
  • ビット単位の NOT 演算子
    ビット単位の AND 演算子
    ビット単位の OR 演算子
    ビット単位の XOR 演算子
  • ビット単位の左と右シフト演算子
  • 符号なし整数のシフト動作
    符号付き整数のシフト動作
  • オーバーフロー演算子
  • 値オーバーフロー
    優先順位と結合性
  • 演算子メソッド
  • 接頭辞と接尾辞演算子
    複合代入演算子
    等価演算子
  • カスタム演算子
  • カスタム挿入辞演算子の優先順位
  • 言語のガイド(Part III)
  • 言語リファレンスについて
  • 文法の読み方
  • 語彙の構造
  • 空白とコメント
    識別子
    キーワードと句読点
  • リテラル
  • 整数リテラル
    浮動小数点リテラル
    文字列のリテラル
    演算子

  • 型注釈
    型識別子
    タプル型
    関数型
    エスケープしないクロージャの制限事項
    配列型
    辞書型
    Optional の型
    暗黙に開封された Optional の型
    プロトコル構成の型
    メタタイプ型
    型の継承句
    型の推測

  • 接頭辞式
    Try 演算子
  • 二項式
  • 代入演算子
    三項条件演算子
    型キャスト演算子
  • 一次式
  • リテラル式
    Self 式
    スーパークラス式
  • クロージャ式
  • キャプチャ・リスト
    暗黙のメンバ式
    括弧で囲まれた式
    タプル式
    ワイルドカード式
    キーパス式
    セレクタ式
    キーパス文字列式
  • 接尾辞の式
  • 関数呼び出し式
    イニシャライザ式
    明示的なメンバ式
    接尾辞の Self 式
    サブスクリプト 式
    強制値の式
    Optional の連鎖式

  • ループ文
  • For-In 文
    While 文
    Repeat-While 文
  • 分岐文
  • if 文
    Guard 文
  • switch 文
  • switch 文は、網羅的である必要あり
    実行が暗黙的に case を Fall Through しない
    ラベル付き文
  • 制御転送文
  • break 文
    continue 文
    fallthrough 文
    return 文
    throw 文
    defer 文
    do 文
  • コンパイラ制御文
  • 条件コンパイルブロック
    行制御文
    利用可能条件
  • 宣言
  • トップレベルのコード
    コードブロック
    Import 宣言
    ­定数の宣言
  • 変数の宣言
  • 格納された変数と格納された変数のプロパティ
    計算された変数と計算されたプロパティ
    格納された変数監視者とプロパティの監視者
    型変数プロパティ
    型エイリアス宣言
  • 関数の宣言
  • パラメータ名
    In-Out パラメータ
    パラメータの特殊な種類
    メソッドの特殊な種類
    Throw する関数とメソッド
    Rethrow する関数とメソッド
    決して返さない関数
  • 列挙型の宣言
  • 任意の型の case を列挙
  • 間接による列挙
    生の値型の case を列挙
    列挙型 case へのアクセス
    構造体の宣言
    クラスの宣言
  • プロトコルの宣言
  • プロトコル・プロパティ宣言
    プロトコル・メソッド宣言
    プロトコル・イニシャライザ宣言
    プロトコル・サブスクリプト宣言
    プロトコルに関連した型の宣言
  • イニシャライザ宣言
  • 失敗可能イニシャライザ
    デイニシャライザ宣言
    拡張機能の宣言
    サブスクリプト宣言
    演算子の宣言
    優先順位グループ宣言
  • 宣言修飾子
  • アクセス制御レベル
  • 属性
  • 宣言の属性
  • インターフェイスビルダーで使われる宣言属性
    型の属性
  • パターン
  • ワイルドカードパターン
    識別子パターン
    値結合パターン
    タプルパターン
    列挙型 case パターン
    Optional のパターン
    型キャストパターン
    式のパターン
  • 汎用パラメータと引数
  • 汎用パラメータ句
  • 汎用の where 句
    汎用引数句
  • 文法のまとめ
  • 語彙の構造



    宣言
    属性
    パターン
    汎用パラメータと引数
  • マニュアルの変更履歴
  • 変更履歴