THE SWIFT PROGRAMMING LANGUAGE(日本語)
  • The Swift Programming Language(日本語版)
  • Swiftへようこそ(WELCOME TO SWIFT)
    • Swiftについて(About Swift)
    • バージョン互換性(Version Compatibility)
    • Swiftツアー(A Swift Tour)
  • 言語ガイド(LANGUAGE GUIDE)
    • 基本(The Basics)
    • 基本演算子(Basic Operators)
    • 文字と文字列(Strings and Characters)
    • コレクション型(Collection Types)
    • 制御フロー(Control Flow)
    • 関数(Functions)
    • クロージャ(Closures)
    • 列挙型(Enumerations)
    • 構造体とクラス(Structures and Classes)
    • プロパティ(Properties)
    • メソッド(Methods)
    • サブスクリプト(Subscripts)
    • 継承(Inheritance)
    • 初期化(Initialization)
    • デイニシャライゼーション(Deinitialization)
    • オプショナルチェーン(Optional Chaining)
    • エラー処理(Error Handling)
    • 並行処理(Concurrency)
    • マクロ(Macros)
    • 型キャスト(Type Casting)
    • ネスト型(Nested Types)
    • 拡張(Extensions)
    • プロトコル(Protocols)
    • ジェネリクス(Generics)
    • Opaque 型とBox プロトコル型(Opaque Types and Boxed Types)
    • 自動参照カウント ARC(Automatic Reference Counting)
    • メモリ安全性(Memory Safety)
    • アクセス制御(Access Control)
    • 高度な演算子(Advanced Operators)
  • 言語リファレンス(LANGUAGE REFERENCE)
    • 言語リファレンスについて(About the Language Reference)
    • 字句構造(Lexical Structure)
    • 型(Types)
    • 式(Expressions)
    • 文(Statements)
    • 宣言(Declarations)
    • 属性(Attributes)
    • パターン(Patterns)
    • ジェネリックパラメータと引数(Generic Parameters and Arguments)
    • 文法のまとめ(Summary of the Grammar)
  • REVISION HISTORY (改訂履歴)
    • ドキュメント改訂履歴(Document Revision History)
GitBook提供
このページ内
  • 2024-09-16
  • 2024-03-05
  • 2023-12-11
  • 2023-09-18
  • 2023-03-30
  • 2022-09-12
  • 2022-03-14
  • 2021-09-20
  • 2021-04-26
  • 2020-09-16
  • 2020-03-24
  • 2019-09-10
  • 2019-03-25
  • 2018-09-17
  • 2018-03-29
  • 2017-12-04
  • 2017-09-19
  • 2017-03-27
  • 2016-10-27
  • 2016-09-13
  • 2016-03-21
  • 2015-10-20
  • 2015-09-16
  • 2015-04-08
  • 2014-10-16
  • 2014-08-18
  1. REVISION HISTORY (改訂履歴)

ドキュメント改訂履歴(Document Revision History)

前へ文法のまとめ(Summary of the Grammar)

最終更新 7 か月前

最終更新日: 2024/10/5 原文: https://docs.swift.org/swift-book/RevisionHistory/RevisionHistory.html

本書に対する最近の変更点を確認する。

2024-09-16

  • Swift6 に更新しました

  • セクションに、Strict Concurrency チェックへの移行に関する情報を追加しました

  • セクションに、特定の型のエラーをスローことについての情報を追加しました

  • の章に package レベルのアクセスに関する情報を追加しました

2024-03-05

  • Swift5.10 に更新しました

  • ネストされたプロトコルの情報をセクションに追加しました

  • とセクションに非推奨情報を追加しました

2023-12-11

  • Swift 5.9.2 に更新しました

  • セクションに borrowing と consuming 修飾子に関する情報を追加しました

  • に、宣言後の定数の値の設定に関する情報を追加しました

  • タスク、タスクグループ、タスクキャンセルに関する情報をの章に追加しました

  • の章に、既存の Swift パッケージでマクロを実装する方法ついての情報を追加しました

  • extension マクロが conformance マクロに置換されたので、のセクションを更新しました

  • バックデプロイに関する情報をセクションに追加しました

2023-09-18

  • Swift 5.9 に更新しました

  • グループ化に空白行を使用するように公式の grammar を整形しました

2023-03-30

  • Swift 5.8 に更新しました

  • 全体的な細かい修正と追加

2022-09-12

  • Swift 5.7 に更新しました

2022-03-14

  • Swift 5.6 に更新しました

  • 全体的な数字の視覚的スタイリングを更新しました

2021-09-20

  • Swift 5.5 に更新しました

2021-04-26

  • Swift 5.4 に更新しました

2020-09-16

  • Swift 5.3 に更新しました

2020-03-24

  • Swift 5.2 に更新しました

2019-09-10

  • Swift 5.1 に更新しました

2019-03-25

  • Swift 5.0 に更新しました

2018-09-17

  • Swift 4.2 に更新しました

2018-03-29

  • Swift 4.1 に更新しました

2017-12-04

  • Swift 4.0.3 に更新しました

2017-09-19

  • Swift 4.0 に更新しました

2017-03-27

  • Swift 3.1 に更新しました

2016-10-27

  • Swift 3.0.1 に更新しました

2016-09-13

  • Swift 3.0 に更新しました

  • OS X の変わりに macOS、ErrorProtocol の代わりに Error、StringLiteralConvertible の代わりに ExpressibleByStringLiteral などのプロトコル名を使用するように説明を更新しました

  • 動的型式セクションで、新しい type(of:) を使用するように説明を更新しました

2016-03-21

  • Swift 2.2 に更新しました

  • C 言語スタイルの for ループ、++ 前置および後置演算子、-- 前置および後置演算子の説明を削除しました

  • 可変関数引数とカリー関数の特別な構文の説明を削除しました

2015-10-20

  • Swift 2.1 に更新しました

2015-09-16

  • Swift 2.0 に更新しました

  • Debugging with Assertions(アサーションを使ったデバッグ)セクションに、ユーザ定義のアサーションが無効になる場合についての記載を追加しました

2015-04-08

  • Swift 1.2 に更新しました

  • プロトコルのキャストは、@objc プロトコルに制限されなくなりました

2014-10-16

  • Swift 1.1 に更新しました

2014-08-18

  • iOS と OS X アプリを構築するための Apple の新しいプログラミング言語 Swift 1.0 についての新しい文書

  • カリー関数のより詳しい情報を追加しました

  • NSString の length プロパティは、utf16count ではなく、Swift のネイティブの String 型の utf16count にマッピングされるようになりました

の章とセクションに、if 式と switch 式に関する情報を追加しました

の章を追加し、コンパイル時にコードを生成することについての情報を追加しました

の章に、Box 型プロトコルに関する情報を追加しました

のセクションを更新し、buildPartialBlock(first:) メソッドと buildPartialBlock(cumulated:next:) メソッドについての情報を追加しました

とに visionOS を追加しました

を追加し、エラーハンドリングの以外の defer の使い方を示しました

アクターとタスク間のデータ送信に関する情報を セクションに追加しました。また、 属性と 属性に関するセクションを追加しました

正規表現の作成に関する情報を セクションに追加しました

if-let の短縮形に関する情報を のセクションに追加しました

#unavailable に関する情報を セクションに追加しました

セクションにメソッドチェーンや他の後置式の周りで #if が使えることについての情報を追加しました

非同期関数、Task、およびアクターについての情報をの章、および、、およびセクションに追加しました

セクションに、アンダースコアで始まる識別子についての情報を追加しました

とセクションに、リザルトビルダについての情報を追加しました

セクションに、関数呼び出しの中で in-out パラメータを unsafe pointer に暗黙的に変換する方法についての情報を追加しました

とセクションを更新しました。関数は複数の可変長パラメータを受け取ることができるようになりました

セクションを更新しました。暗黙メンバ式を繋げて使えるようになりました

セクションに、複数の末尾クロージャについての情報を追加し、セクションに、複数の末尾クロージャをパラメータに合わせる方法についての情報を追加しました

セクションに、列挙型が Comparable プロトコルに準拠するための合成実装についての情報を追加しました

セクションに、ジェネリック where 句をより多くの場所に記載できる旨を追加しました

セクションに、オプショナル値を unowned 参照に使用する方法についての情報を追加しました

セクションに @main 属性についての情報を追加しました

セクションに、#filePath を追加し、#file の記載を更新しました

セクションを更新しました。多くのシナリオでクロージャが暗黙的に self を参照できるようになりました

とのセクションを更新しました。catch 句が複数のエラーにマッチングできるようになりました

Any の詳細を追加し、セクションに移動しました

セクションを更新しました、lazy プロパティでもオブザーバが使用できるようになりました

セクションを更新しました。列挙型のメンバがプロトコル要件を満たすことができるようになりました

セクションを更新して、get がいつオブザーバの前に呼び出されるかついて記述しました

の章を更新して、アトミック操作について記述しました

セクションに、クロージャの代わりにキーパスを渡すことについての情報を追加しました

セクションに、関数呼び出し構文にクラス、構造体、および列挙型のインスタンスを使用できるようにする糖衣構文(シンタックスシュガー)についての情報を追加しました

セクションを更新しました。subscript でデフォルトパラメータを使用できるようになりました

セクションを更新しました。より多くのコンテキストで Self が使えるようになりました

セクションを更新して、暗黙アンラップオプショナル値をオプショナルまたは非オプショナルのどちらでも使用できることをより明確にしました

の章に、戻り値に特定の名前の戻り値の型を提供するのではなく、戻り値が準拠するプロトコルを指定する関数についての情報を追加しました

セクションに、プロパティラッパについての情報を追加しました

セクションに、ライブラリエボリューションのための frozen な列挙型と構造体についての情報を追加しました

とセクションに、return を省略した関数についての情報を追加しました

セクションに、型への subscript の使用について情報を追加しました

セクションを更新しました。列挙型ケースとオプショナル値をマッチングできるようになりました

セクションを更新しました。メンバワイズイニシャライザがデフォルト値を持つプロパティのパラメータを省略することができるようになりました

セクションに、実行時にキーパスで検索された動的メンバについての情報を追加しました

のターゲット環境リストに macCatalyst を追加しました

セクションを更新しました。Self を使用して、現在のクラス、構造体、または列挙型宣言で導入された型を参照することができるようになりました

セクションを追加し、拡張区切り文字についての情報をセクションに追加しました

dynamicCallable 属性を使用してインスタンスを関数として動的に呼び出すことについての情報を記載したセクションを追加しました

unknown スイッチケース属性を使用した switch 文の将来の列挙ケースを扱う方法についての情報を記載したとセクションを追加しました

セクションに、識別キーパス(\.self)についての情報を追加しました

のプラットフォーム条件に(<)演算子の使用方法についての情報を追加しました

セクションに、列挙型の全てのケースへのアクセス方法についての情報を追加しました

セクションに、#error と #warning についての情報を追加しました

セクションの inlinable と usableFromInline 属性に、インライン化についての情報を追加しました

セクションの dynamicMemberLookup 属性に、実行時に名前で検索するメンバについての情報を追加しました

セクションに、require_stored_property_inits および warn_unqualified_access 属性についての情報を追加しました

セクションに、Swift コンパイラのバージョンに応じて、条件付きでコンパイルする方法についての情報を追加しました

セクションに、#dsohandle についての情報を追加しました

セクションに、等価演算子の合成実装についての情報を追加しました

の章のセクションと、の章のセクションに、条件付きプロトコル準拠についての情報を追加しました

セクションに、再帰的プロトコル制約についての情報を追加しました

セクションに、canImport() と targetEnvironment() プラットフォーム条件についての情報を追加しました

セクションを更新しました。subscript にキーパスを使用できるようになりました

の章に、メモリへの排他アクセスについての情報を追加しました

セクションを追加しました。ジェネリック where 句で関連型を制約できるようになりました

の章のセクションと、の章のセクションに、複数行文字列リテラルについての情報を追加しました

セクションの objc 属性の説明を更新しました。この属性が推論される場所がより少なくなりました

セクションを追加しました。subscript はジェネリックにできます

の章のセクションと、の章のセクションの説明を更新しました。プロトコル合成型にスーパークラスの要件を含めることができるようになりました

のプロトコル拡張の説明を更新しました。final は使用できなくなりました

セクションに、前提条件と致命的エラーについての情報を追加しました

セクションに、要件を含む extension についての情報を追加しました

セクションに範囲全体を繰り返す例を追加しました

セクションに、失敗可能な数値変換の例を追加しました

セクションに、Swift 言語バージョンを使用した available 属性の使い方についての情報を追加しました

セクションの説明を更新し、関数型に引数ラベルを書くことができないことを記載しました

セクションの Swift 言語バージョン番号の説明を更新しました。オプショナルのパッチ番号が使用できるようになりました

セクションの説明を更新し、Swift は、タプル型の単一のパラメータを受け取る関数と、複数のパラメータを受け取る関数が区別できるようになりました

の章から動的型式のセクションを削除しました。type(of:) は Swift 標準ライブラリ関数になりました

の章の弱参照、非所有参照の説明を更新しました

セクションに、unowned、unowned(safe) と unowned(unsafe) 修飾子についての情報を追加しました

セクションに、Any 型の値が期待される場所にオプショナルの値を使用することについての記載を追加しました

括弧付き式とタプル式の説明を分けるように、の章を更新しました

の章とセクションの関数の説明を、デフォルトで全てのパラメータが引数ラベルを持つように更新しました

の章の演算子の説明を更新しました。これらの演算子をグローバル関数としてはなく型メソッドとして実装できるようになりました

の章に、open と filePrivate アクセスレベル修飾子についての情報を追加しました

セクションの inout の説明を、パラメータ名の前ではなくパラメータの型の前に使用するように更新しました

とセクションと、の章の説明で、@noescape および @autoclosures 属性を宣言属性から型属性へ更新しました

の章のセクションと、の章のセクションに、演算子の優先順位グループについての情報を追加しました

の章のセクションと、の章の説明を更新しました。ジェネリック where 句を宣言の最後に書くことができるようになりました

セクションの説明を更新しました。クロージャはデフォルトが非エスケープになりました

の章のセクションと、の章のセクションの説明を更新しました。if、while、guard 文は、where 句なしで、カンマ区切りリストの条件を使用できるようになりました

の章のセクションと、の章のセクションに、複数のパターンを持つ列挙ケースについての情報を追加しました

セクションの関数型の説明を更新しました。引数ラベルが関数の型の一部ではなくなりました

の章のセクションと、の章のセクションの説明を更新し、新しい Protocol1 & Protocol2 構文を使用するようになりました

セクションで、#sourceLocation(file:line:) 構文を使用するように、行制御文の説明を更新しました

の説明を更新し、新しい Never 型を使用するようにしました

セクションに、playground リテラルについての情報を追加しました

セクションの説明を更新し、非エスケープクロージャのみが in-out パラメータをキャプチャできることを記載しました

セクションのデフォルトパラメータの説明を更新しました。関数呼び出し時にデフォルトパラメータを並べ替えることができなくなりました

の章でコロンを使用するように属性引数を更新しました

セクションに、再スロー関数のキャッチブロック内でエラーをスローすることについての情報を追加しました

セクションに、Objective-C プロパティの get または set のセレクタへのアクセスについての情報を追加しました

セクションに、ジェネリックなタイプエイリアスとプロトコル内でのタイプエイリアスの使用について情報を追加しました

セクションの説明を更新し、パラメータ型の周囲に括弧が必須だということを記載しました

の章を更新して、@IBAction、@IBOutlet、および @NSManaged 属性は @objc 属性を暗黙的に含んでいることを記載しました

セクションに、@GKInspectable 属性についての情報を追加しました

のオプショナルのプロトコル要件の説明を更新し、Objective-C と相互運用されるコードでのみ使用できることを明確にしました

セクションから、関数パラメータを使用して明示的に let を使用することの説明を削除しました

の章から Boolean プロトコルの説明を削除しました。このプロトコルは Swift 標準ライブラリから削除されました

セクションの @NSApplicationMain 属性の説明を修正しました

セクションに、Swift バージョンに応じて、コードをコンパイルする方法についての情報を追加しました

セクションに、引数名だけが異なるメソッドまたはイニシャライザを区別する方法についての情報を追加しました

セクションに、Objective-C セレクタの #Selector 構文についての情報を追加しました

とセクションの、associatedtype キーワードを使った関連型の説明を更新しました

セクションの、インスタンスが完全に初期化される前に nil を返すイニシャライザについての情報を更新しました

セクションに、タプルの比較についての情報を追加しました

セクションに、外部パラメータ名にキーワードを使用する方法についての情報を追加しました

セクションの @objc 属性の説明を更新し、列挙型と列挙ケースでもこの属性を使用できることを記載しました

セクションの、ドットを含むカスタム演算子の説明を更新しました

セクションに、再スロー関数が直接エラーをスローできないことを記載した記載を追加しました

セクションに、in-out パラメータとしてプロパティを渡した際に呼ばれるプロパティオブサーバについての記載を追加しました

の章に、エラー処理についてのセクションを追加しました

セクションに、メモリ割り当て解除プロセスをより明確に表示するために図を更新しました

とセクションを更新しました。文字列補間に文字列リテラルを含めることができるようになりました

セクションに、@noescape 属性についての情報を追加しました

セクションとセクションの、tvOS についての情報を更新しました

セクションに、in-out パラメータの動作についての情報を追加しました

セクションに、キャプチャリストで指定された値がキャプチャされる方法についての情報を追加しました

セクションを更新し、オプショナルチェーンを介して代入する方法が明確になるようにしました

セクションの autoclosure の説明を改善しました

の章の ?? 演算子を使用する例を追加しました

の章、セクション、セクション、セクション、およびセクションに、エラー処理についての情報を追加しました

セクションを更新しました。全ての型が ErrorType プロトコルに準拠するようになりました

セクションに、新しい try? キーワードについての情報を追加しました

の章のセクションと、の章のセクションに、再帰的な列挙型の情報を追加しました

の章のセクションと、の章のセクションに、API アベイラビリティチェックについての情報を追加しました

の章のと、の章のセクションに、新しい guard 文についての情報を追加しました

の章のについての情報を追加しました

の章のセクションに、単体テストでのアクセス制御についての情報を追加しました

の章のセクションに、新しいオプショナルパターンについての情報を追加しました

セクションを更新し、repeat-while ループについての情報を追加しました

の章を更新しました。String は Swift 標準ライブラリの CollectionType プロトコルに準拠しなくなりました

セクションに、新しい Swift 標準ライブラリの print(_:separator:terminator) 関数についての情報を追加しました

の章のセクションと、の章のセクションに、String 型の Raw Value を持つ列挙ケースの動作についての情報を追加しました

セクションに、@autoclosure 属性または @autoclosure(escaping) についての情報を追加しました

セクションを更新し、@available および @warn_unused_result 属性についての情報を追加しました

セクションを更新し、@convention 属性についての情報を追加しました

セクションに、where 句を使用して複数のオプショナルバインディングを使用する例を追加しました

セクションに、+ 演算子を使用して文字列リテラルを連結する際のコンパイル時の動作についての情報を追加しました

セクションに、イニシャライザ式を使用してインスタンスを構築する際の Metatype の比較についての情報を追加しました

セクションの @NSManaged 属性の説明を更新しました。属性を特定のインスタンスメソッドに適用できるようになりました

セクションを更新しました。可変長パラメータは、関数のパラメータリスト内の任意の位置で宣言できるようになりました

セクションに、スーパークラスのイニシャライザの結果を強制アンラップすることで、失敗しないイニシャライザから失敗可能イニシャライザに委譲できることについての情報を追加しました

セクションに、関数を列挙ケースとして使用できることについての情報を追加しました

セクションに、イニシャライザを明示的に参照する方法についての情報を追加しました

セクションに、ビルド構成および行制御文についての情報を追加しました

セクションに、Metatype の値からクラスインスタンスを構築する方法についての記載を追加しました

セクションに、弱参照がキャッシュに適していないことについての記載を追加しました

セクションの記載を更新し、格納型プロパティが遅延初期化されることを記載しました

セクションを更新し、変数と定数がクロージャ内でキャプチャされる方法を明確にしました

セクションを更新し、クラスに @objc 属性を適用できる場合についての説明を追加しました

セクションに、throw 文を実行する際のパフォーマンスについての記載を追加しました。のセクションの do 文にも同様の情報を追加しました

セクションの、クラス、構造体、および列挙型の格納型プロパティおよび計算型プロパティについての情報を更新しました

セクションの、ラベル付き break 文についての情報を更新しました

willSet と didSet オブザーバの動作を明確にするために、セクションの記載を更新しました

セクションに、private アクセスの範囲についての記載を追加しました

セクションに、ガベージコレクションと ARC の弱参照の違いについての記載を追加しました

セクションの Unicode スカラの定義をより正確なものに更新しました

Swift ネイティブの Set コレクション型ができました。詳細については、を参照ください

@autoclosure は、型ではなく、パラメータ宣言の属性になりました。新しい @noescape パラメータ属性もあります。詳細については、を参照ください

型メソッドと型プロパティは、宣言修飾子の static キーワードを使用できるようになりました。詳細については、を参照ください

Swift に as? と as! の失敗可能ダウンキャスト演算子が追加されました。詳細については、を参照ください

文字列インデックス()について新しいガイドセクションを追加しました

からオーバーフロー分割演算子(&/)とオーバーフロー剰余演算子(&%)を削除しました

定数および定数プロパティ宣言と初期化のルールを更新しました。詳細については、を参照ください

文字列リテラル内の Unicode スカラの定義を更新しました。を参照ください

を更新し、開始と終了インデックスが同じ半開範囲は空になることを記載しました

を更新し、変数のキャプチャルールを明確にしました

を更新し、符号付き整数と符号なし整数のオーバーフローの動作を明確にしました

を更新し、プロトコル宣言の範囲とメンバを明確にしました

を更新し、クロージャのキャプチャリストでの weak や unowned 参照の構文を明確にしました

セクションを更新し、数学演算子、その他のシンボル、および Dingbats Unicode ブロックなど、カスタム演算子がサポートしている文字の例を明示的に説明しました

定数は、ローカル関数スコープで初期化せずに宣言できるようになりました。最初に使用する前に値の設定が必要です。詳細については、を参照ください

イニシャライザ内で、定数プロパティは値を一度だけ割り当てることができるようになりました。詳細については、を参照ください

複数のオプショナルバインディングは、代入式のカンマ区切りのリストとして、単一の if 文で使用できるようになりました。詳しくは、を参照ください

は、後置式として使用しなければなりません

実行時に型キャストに失敗する可能性がある型は、as? または as! 演算子を使用し、失敗しないことが保証されている型キャストは、as 演算子を使用します。詳細については、を参照ください

失敗可能イニシャライザ()の全ガイドを追加しました

プロトコルの失敗可能イニシャライザ要件()の説明を追加しました

Any 型の定数と変数に関数インスタンスを含めることができるようになりました。switch 文内での関数型のチェックとキャスト方法を示すために、の例を更新しました

Raw Value を持つ列挙型は、toRaw() メソッドではなく rawValue プロパティ、 fromRaw() メソッドではなく rawValue パラメータを持つ失敗可能イニシャライザを持つようになりました。 詳しくは、とを参照ください

初期化の失敗を引き起こす失敗可能イニシャライザ()についての新しいセクションを追加しました

カスタム演算子に ? を含めることができるようになりました。を更新し、改訂されたルールを記載しました。から有効な演算子文字セットの説明の重複を削除しました

プロトコル内のについての新しいセクションを追加しました

についての新しいセクションを追加しました

は、文字列補間を使用できるようになりました。使用できない記載を削除しました

セクションを更新し、String と Character を加算演算子(+)または加算代入演算子(+=)で組み合わせることができないことを反映しました。これらの演算子は String でのみ使用されます。String の末尾に単一の Character を追加するには、String 型の append(_:) メソッドを使用します

セクションに、availability 属性についての情報を追加しました

は、オプショナルの Bool 値を使用しているときに、混乱を避けるために、値がある場合に true、ない場合に false と評価されません。代わりに、== または != 演算子を指定して、オプショナルに値が含まれているかどうか、明示的な nil チェックを行いましょう

(a ?? b)ができました。これは、オプショナルの値が存在する場合はオプショナルの値をアンラップし、nil の場合はデフォルト値を返します

セクションを更新、拡張し、文字列と文字の比較や、前方比較、後方比較は、拡張書記素クラスタの Unicode の正規等価性に基づいていることを反映し、例を示しました

を使って、mutating メソッドや演算子の呼び出し、subscript への値の割り当て、プロパティ値の設定を試すことができます。の情報は、これに応じて更新され、のメソッド呼び出しが成功したかどうかの例では、プロパティの設定が成功したかどうかをチェックする方法も例として示すように拡張しました

オプショナルチェーンを通じて、オプショナルの subscript にアクセスするための新しいセクション()を追加しました

を更新し、+= 演算子を使って配列にその単一の要素を追加できなくなりました。代わりに、append(_:) メソッドを使用するか、単一の要素を持つ配列に += 演算子を使用して追加します

範囲演算子() a...b と a..<b の開始値 a を、終了値 b より大きくしてはならないことを記載しました

の章を書き直して、イニシャライザのオーバーライドの紹介部分を削除しました。この章では、サブクラス内に新しい機能を追加し、オーバーライドを使用して既存の機能を変更することに焦点を当てています。の章の例は、description プロパティをオーバーライドする方法を示すために書き換えられました。(サブクラスのイニシャライザで継承したプロパティのデフォルト値を変更する例は、の章に移動しました)

セクションを更新し、指定イニシャライザのオーバーライドを override 修飾子でマークする必要があることを記載しました

セクションを更新し、required 修飾子が全てのサブクラスの必須イニシャライザの実装の前に書かれ、自動的に継承したイニシャライザが必須イニシャライザの要件を満たすことができることを記載しました

中置演算子メソッド()に @infix 属性が必要なくなりました

の @prefix および @postfix 演算子属性は、prefix および postfix 宣言修飾子に置き換えられました

が同じオペランドに適用されたときに prefix と postfix 演算子が適用される順序についての記載を追加しました

の演算子関数は、関数を定義するときに @assignment 属性を使用しなくなりました

を定義するときに修飾子を指定する順序が変更されました。例えば、operator prefix ではなく prefix operator と書くようになりました

に、dynamic 修飾子についての情報を追加しました

型推論がで動作する方法についての情報を追加しました

についての新しい章を追加しました

の章を更新し、Swift の Character 型が単一の Unicode 拡張書記素クラスタを表すことを反映しました。上の新しいセクションと、とについての詳しい情報も含まれています

セクションを更新し、文字列内の Unicode スカラを \u{n}(n には 0 から 10FFFF の間の 16 進数が入る)で書けることを記載しました

Swift のネイティブ String 型は、uppercaseString または lowercaseString プロパティを使用しなくなりました。の対応するセクションは削除され、様々なコード例を更新しました

についての新しいセクションを追加しました

についての新しいセクションを追加しました

についての新しいセクションを追加しました

セクションを更新し、1 つの型注釈を持つ単一の行に複数の関連変数を定義できることを記載しました

@optional、@lazy、@final と @required 属性は、optional、lazy、final と required 宣言修飾子()になりました

本全体を参照して、..< を(「半閉鎖範囲演算子」ではなく)として参照するように更新しました

を更新し、Dictionary がブール値の isEmpty プロパティを持つことを記載しました

を定義するときに使用できる文字の全リストを明確にしました

nil とブール値 true と false はになりました

Swift の Array 型は、完全に値型のセマンティクスになりました。とを更新し、新しいアプローチを反映しました

は SomeType[] ではなく [SomeType] として書くようになりました

は、[KeyType: ValueType] と書くように新しいセクションを追加しました

についての新しいセクションを追加しました

の例に、グローバルの sort(_:_:) 関数ではなくグローバルの sorted(_:_:) 関数を使用し、配列の新しい値型のセマンティクスを反映しています

についての情報を更新し、構造体の格納プロパティにデフォルト値がない場合でもメンバワイズイニシャライザが使用可能だということを明確にしました

に .. ではなく ..< を使用するようになりました

の例を追加しました

マクロ(Macros)
メモリ安全性(Memory Safety)
Opaque 型(Opaque Types)
メモリ安全性(Memory Safety)
式(Expressions)
自動参照カウント(Automatic Reference Counting)
Expressions(式)
高度な演算子(Advanced Operators)
アクセス制御(Access Control)
属性(Attributes)
属性(Attributes)
文(Statement)
Swift ツアー(A Swift Tour)
Swift ツアー(A Swift Tour)
文字列と文字(Strings and Characters)
アクセス制御(Access Control)
文字列と文字(Strings and Characters)
アクセス制御
並行処理(Concurrency)
マクロ(Macros)
制御フロー(Control Flow)
並行処理(Concurrency)
宣言(Declarations)
プロトコル(Protocols)
文字列と文字(Strings and Characters)
字句構造(Lexical Structure)
プロトコル(Protocols)
型(Types)
関数(Functions)
属性(Attributes)
高度な演算子(Advanced Operators)
宣言(Declaration)
ジェネリクス(Generics)
ジェネリックパラメータと引数(Generic Parameters and Arguments)
基本(The Basics)
文(Statement)
制御フロー(Control Flow)
文(Statement)
プロトコル(Protocols)
型(Types)
Error Handling(エラーハンドリング)
列挙型(Enumerations)
宣言(Declarations)
制御フロー(Control Flow)
文(Statements)
制御フロー(Control Flow)
文(Statements)
プロトコル(Protocols)
アクセス制御(Access Control)
パターン(Patterns)
列挙型(Enumerations)
宣言(Declarations)
オプショナルチェーン(Optional Chaining)
継承(Inheritance)
イニシャライザ(Initialization)
文字列と文字(Strings and Characters)
デフォルト実装を使用したプロトコル準拠(Adopting a Protocol Using a Synthesized Implementation)
オプショナルのプロトコル要件(Optional Protocol Requirements)
プロトコル Extension(Protocol Extensions)
プロトコル準拠チェック(Checking for Protocol Conformance)
失敗可能イニシャライザ要件(Failable Initializer Requirements)
イニシャライザ要件(Initializer Requirements)
クラス専用プロトコル(Class-Only Protocols)
エラーの表現とスロー(Representing and Throwing Errors)
エラーからオプショナル値への変換(Converting Errors to Optional Values)
オプショナルバインディング
暗黙アンラップオプショナル(Implicitly Unwrapped Optionals)
アサーションと事前条件(Assertions and Preconditions)
定数と変数の出力(Printing Constants and Variables)
オプショナルバインディング(Optional Binding)
オプショナルバインディング(Optional Binding)
アサーションと事前条件(Assertions and Preconditions)
オプショナル(Optionals)
型注釈(Type Annotations)
条件文(Conditional Statements)
遅延アクション(Deferred Actions)
APIアベイラビリティチェック
For-In ループ(For-In Loops)
Repeat-While
委譲(Delegation)
付属型マクロ(Attached Macros)
エラーハンドリングのエラーの型の特定
定数と変数(Constants and Variables)
属性のpreconcurrency
UIApplicationMain
NSApplicationMain
backDeployed
Result-Building Methods
main
frozen
dynamicMemberLookup
dynamicCallable
宣言属性(Declaration Attributes)
宣言属性(Declaration Attributes)
宣言属性(Declaration Attributes)
宣言属性(Declaration Attributes)
宣言属性(Declaration Attributes)
宣言属性(Declaration Attributes)
宣言属性(Declaration Attributes)
宣言属性(Declaration Attributes)
宣言属性(Declaration Attributes)
Type Attributes(型属性)
宣言属性(Declaration Attributes)
宣言属性(Declaration Attributes)
宣言属性(Declaration Attributes)
宣言属性(Declaration Attributes)
条件付きでのプロトコルへの準拠(Conditionally Conforming to a Protocol)
プロトコル合成(Protocol Composition)
プロトコル合成(Protocol Composition)
do catch を使ったエラー処理(Handling Errors Using Do-Catch)
エラー処理(Handling Errors)
オプショナルバインディング(Optional Binding)
Switch
API アベイラビリティチェック(Checking API Availability)
Early Exit(早期リターン)
available
@Sendable
@unchecked
resultBuilder
unknown
宣言属性(Declaration Attributes)
列挙型ケースパターン(Enumeration Case Pattern)
オプショナルパターン(Optional Pattern)
Opaque 型とBox 型(Opaque Types and Boxed Types)
列挙ケースの繰り返し処理(Iterating over Enumeration Cases)
正規表現リテラル
識別子(Identifiers)
Keywords and Punctuation(単語と句読点)
演算子(Operators)
演算子(Operators)
リテラル(Literals)
リテラル(Literals)
Any および AnyObject の型キャスト(Type Casting for Any and AnyObject)
Any および AnyObject の型キャスト(Type Casting for Any and AnyObject)
再帰的列挙型(Recursive Enumerations)
暗黙的に割り当てられた Raw Value(Implicitly Assigned Raw Values)
Raw Values
文字列リテラル(String Literals)
文字列リテラル(String Literals)
演算子(Operators)
Sendable Types
プロトコル宣言(Protocol Declaration)
格納変数オブザーバとプロパティオブザーバ(Stored Variable Observers and Property Observers)
特別な名前のメソッド(Methods with Special Names)
拡張宣言(Extension Declaration)
拡張宣言(Extension Declaration)
宣言修飾子(Declaration Modifiers)
関数宣言(Function Declaration)
関数宣言(Function Declaration)
ノーリターン関数(Functions that Never Return)
In-Out パラメータ(In-Out Parameters)
再スロー関数と再スローメソッド(Rethrowing Functions and Methods)
タイプエイリアス宣言(Type Alias Declaration)
関数宣言(Function Declaration)
再スロー関数と再スローメソッド(Rethrowing Functions and Methods)
In-Out パラメータ(In-Out Parameters)
任意の型のケースを持つ列挙型(Enumerations with Cases of Any Type)
Raw Value 型のケースを持つ列挙型(Enumerations with Cases of a Raw-Value Type)
任意の型のケースを持つ列挙型(Enumerations with Cases of Any Type)
型変数プロパティ(Type Variable Properties)
定数宣言(Constant Declaration)
プロトコル宣言(Protocol Declaration)
定数宣言(Constant Declaration)
Raw Value 型のケースを持つ列挙型(Enumerations with Cases of a Raw-Value Type)
宣言修飾子(Declaration Modifiers)
宣言修飾子(Declaration Modifiers)
リザルトビルダ(Result Builders)
等価演算子(Equivalence Operators)
Precedence for Custom Infix Operators(カスタム中置演算子の優先順位)
優先順位グループ宣言(Precedence Group Declaration)
Overflow Operators(オーバーフロー演算子)
値のオーバーフロー(Value Overflow)
カスタム演算子(Custom Operators)
演算子メソッド(Operator Methods)
前置、後置演算子(Prefix and Postfix Operators)
前置、後置演算子(Prefix and Postfix Operators)
複合代入演算子(Compound Assignment Operators)
カスタム演算子(Custom Operators)
カスタム演算子(Custom Operators)
明示的メンバ式(Explicit Member Expression)
アクター宣言(Actor Declaration)
非同期関数と非同期メソッド(Asynchronous Functions and Methods)
Await 演算子(Await Operator)
ポインタ型への暗黙変換(Implicit Conversion to a Pointer Type)
暗黙メンバ式(Implicit Member Expression)
リテラル式(Literal Expression)
Key-Path 式(Key-Path Expression)
Key-Path 式(Key-Path Expression)
リテラル式(Literal Expression)
Key-Path 式(Key-Path Expression)
リテラル式(Literal Expression)
Selector 式(Selector Expression)
明示的メンバ式(Explicit Member Expression)
Selector 式(Selector Expression)
キャプチャリスト(Capture Lists)
Initializer Expression(イニシャライザ式)
オプショナルチェーン式(Optional-Chaining Expression)
型キャスト演算子(Type-Casting Operators)
関数宣言(Function Declaration)
可変長パラメータ(Variadic Parameters)
デフォルトパラメータ値(Default Parameter Values)
Variadic Parameters(可変長パラメータ)
オプショナルのタプルの戻り値の型(Optional Tuple Return Types)
オプショナル値への非所有参照(Unowned Optional References)
弱参照(Weak References)
弱参照(Weak References)
弱参照(Weak References)
キャプチャリストの定義(Defining a Capture List)
コンテキスト上の where 句(Contextual Where Clauses)
関連型の制約へのプロトコルの使用(Using a Protocol in Its Associated Type’s Constraints)
ジェネリック where 句を使用した関連型(Associated Types with a Generic Where Clause)
ジェネリック subscript(Generic Subscripts)
ジェネリック where 句を使った拡張(Extensions with a Generic Where Clause)
ジェネリック where 句(Generic Where Clauses)
プロトコル関連型宣言(Protocol Associated Type Declaration)
関連型(Associated Types)
ジェネリック型の拡張(Extending a Generic Type)
構造体のメンバワイズイニシャライザ(Memberwise Initializers for Structure Types)
様々な subscript(Subscript Options)
型 subscript(Type Subscripts)
関数呼び出し式(Function Call Expression)
Try 演算子(Try Operator)
暗黙的な戻り値がある関数(Functions With an Implicit Return)
拡張区切り文字(Extended String Delimiters)
文字列リテラル(String Literals)
文字列補間(String Interpolation)
文字列リテラル(String Literals)
文字列リテラル(String Literals)
文字列内の特殊文字(Special Characters in String Literals)
文字列のインデックス(String Indices)
文字列内の特殊文字(Special Characters in String Literals)
文字と文字列の連結(Concatenating Strings and Characters)
文字列の比較(Comparing Strings)
拡張書記素クラスタ(Extended Grapheme Clusters)
Unicode Scalar Values(Unicode スカラ値)
文字列の比較(Comparing Strings)
文字列リテラル(String Literals)
プロパティオブザーバ(Property Observers)
プロパティラッパ(Property Wrappers)
省略 get プロパティ宣言(Shorthand Getter Declaration)
プロパティオブザーバ(Property Observers)
型プロパティ(Type Properties)
型プロパティ(Type Properties)
プロパティオブザーバ(Property Observers)
失敗可能イニシャライザ(Failable Initializers)
失敗可能イニシャライザ(Failable Initializers)
Overriding a Failable Initializer(失敗可能イニシャライザのオーバーライド)
初期化中の定数プロパティの割り当て(Assigning Constant Properties During Initialization)
失敗可能イニシャライザ(Failable Initializers)
失敗可能イニシャライザ(Failable Initializers)
イニシャライザの継承とオーバーライド(Initializer Inheritance and Overriding)
必須イニシャライザ(Required Initializers)
引数ラベルのないイニシャライザパラメータ(Initializer Parameters Without Argument Labels)
必須イニシャライザ(Required Initializers)
構造体のメンバワイズイニシャライザ(Memberwise Initializers for Structure Types)
単体テストターゲットのアクセスレベル(Access Levels for Unit Test Targets)
アクセスレベル(Access Levels)
条件付きコンパイルブロック(Conditional Compilation Block)
Do 文(Do Statement)
条件付きコンパイルブロック(Conditional Compilation Block)
列挙型の将来のケースのスイッチング(Switching Over Future Enumeration Cases)
条件付きコンパイルブロック(Conditional Compilation Block)
コンパイル時診断文(Compile-Time Diagnostic Statement)
条件付きコンパイルブロック(Conditional Compilation Block)
条件付きコンパイルブロック(Conditional Compilation Block)
条件付きコンパイルブロック(Conditional Compilation Block)
While 文(While Statement)
Switch 文(Switch Statement)
行制御文(Line Control Statement)
条件付きコンパイルブロック(Conditional Compilation Block)
条件付きコンパイルブロック(Conditional Compilation Block)
Do 文(Do Statement)
Throw 文(Throw Statement)
Defer 文(Defer Statement)
Availability Condition(アベイラビリティ条件)
Guard 文(Guard Statement)
コンパイラ制御文(Compiler Control Statements)
Do 文(Do Statement)
Break Statement(Break 文)
Comparison Operators(比較演算子)
範囲演算子(Range Operators)
nil 合体演算子(Nil-Coalescing Operator)
範囲演算子(Range Operators)
半開範囲演算子(Half-Open Range Operator)
半開範囲演算子(Half-Open Range Operator)
末尾クロージャ(Trailing Closures)
エスケープクロージャ(Escaping Closures)
エスケープクロージャ(Escaping Closures)
自動クロージャ(AutoClosures)
エスケープクロージャ(Escaping Closures)
エスケープクロージャ(Escaping Closures)
自動クロージャ(AutoClosures)
自動クロージャ(AutoClosures)
値のキャプチャ(Capturing Values)
クロージャは参照型(Closures Are Reference Types)
クロージャ式(Closure Expressions)
Any 型(Any Type)
Self 型(Self Type)
Self 型(Self Type)
プロトコル合成型(Protocol Composition Type)
関数型(Function Type)
関数型(Function Type)
関数型(Function Type)
プロトコル合成型(Protocol Composition Type)
関数型(Function Type)
Metatype 型(Metatype Type)
Metatype 型(Metatype Type)
オプショナルチェーンを通したプロパティへのアクセス(Accessing Properties Through Optional Chaining)
オプショナルチェーンを通したプロパティへのアクセス(Accessing Properties Through Optional Chaining)
オプショナルチェーンを通したメソッドの呼び出し(Calling Methods Through Optional Chaining)
オプショナル型の subscript へのアクセス(Accessing Subscripts of Optional Type)
Sets(セット)
Array 配列へのアクセスと変更(Accessing and Modifying an Array)
辞書へのアクセスと変更(Accessing and Modifying a Dictionary)
コレクションの可変性(Mutability of Collections)
配列(Arrays)
配列型の省略構文(Array Type Shorthand Syntax)
辞書型の省略構文(Dictionary Type Shorthand Syntax)
セット型のハッシュ値(Hash Values for Set Types)
プロパティの get プロパティ、set プロパティドのオーバーライド(Overriding Property Getters and Setters)