Resources
/
Swift Language Guide
About Swift
Version Compatibility
A Swift Tour
A Swift Tour /
app-top
A Swift Tour /
Simple-Values
A Swift Tour /
Control-Flow
A Swift Tour /
Functions-and-Closures
A Swift Tour /
Objects-and-Classes
A Swift Tour /
Enumerations-and-Structures
A Swift Tour /
Concurrency
A Swift Tour /
Protocols-and-Extensions
A Swift Tour /
Error-Handling
A Swift Tour /
Generics
The Basics
The Basics /
app-top
The Basics /
Constants-and-Variables
The Basics /
Declaring-Constants-and-Variables
The Basics /
Type-Annotations
The Basics /
Naming-Constants-and-Variables
The Basics /
Printing-Constants-and-Variables
The Basics /
Comments
The Basics /
Semicolons
The Basics /
Integers
The Basics /
Integer-Bounds
The Basics /
Int
The Basics /
UInt
The Basics /
Floating-Point-Numbers
The Basics /
Type-Safety-and-Type-Inference
The Basics /
Numeric-Literals
The Basics /
Numeric-Type-Conversion
The Basics /
Integer-Conversion
The Basics /
Integer-and-Floating-Point-Conversion
The Basics /
Type-Aliases
The Basics /
Booleans
The Basics /
Tuples
The Basics /
Optionals
The Basics /
nil
The Basics /
Optional-Binding
The Basics /
Providing-a-Fallback-Value
The Basics /
Force-Unwrapping
The Basics /
Implicitly-Unwrapped-Optionals
The Basics /
Error-Handling
The Basics /
Assertions-and-Preconditions
The Basics /
Debugging-with-Assertions
The Basics /
Enforcing-Preconditions
Basic Operators
Basic Operators /
app-top
Basic Operators /
Terminology
Basic Operators /
Assignment-Operator
Basic Operators /
Arithmetic-Operators
Basic Operators /
Remainder-Operator
Basic Operators /
Unary-Minus-Operator
Basic Operators /
Unary-Plus-Operator
Basic Operators /
Compound-Assignment-Operators
Basic Operators /
Comparison-Operators
Basic Operators /
Ternary-Conditional-Operator
Basic Operators /
Nil-Coalescing-Operator
Basic Operators /
Range-Operators
Basic Operators /
Closed-Range-Operator
Basic Operators /
Half-Open-Range-Operator
Basic Operators /
One-Sided-Ranges
Basic Operators /
Logical-Operators
Basic Operators /
Logical-NOT-Operator
Basic Operators /
Logical-AND-Operator
Basic Operators /
Logical-OR-Operator
Basic Operators /
Combining-Logical-Operators
Basic Operators /
Explicit-Parentheses
Strings and Characters
Strings and Characters /
app-top
Strings and Characters /
String-Literals
Strings and Characters /
Multiline-String-Literals
Strings and Characters /
Special-Characters-in-String-Literals
Strings and Characters /
Extended-String-Delimiters
Strings and Characters /
Initializing-an-Empty-String
Strings and Characters /
String-Mutability
Strings and Characters /
Strings-Are-Value-Types
Strings and Characters /
Working-with-Characters
Strings and Characters /
Concatenating-Strings-and-Characters
Strings and Characters /
String-Interpolation
Strings and Characters /
Unicode
Strings and Characters /
Unicode-Scalar-Values
Strings and Characters /
Extended-Grapheme-Clusters
Strings and Characters /
Counting-Characters
Strings and Characters /
Accessing-and-Modifying-a-String
Strings and Characters /
String-Indices
Strings and Characters /
Inserting-and-Removing
Strings and Characters /
Substrings
Strings and Characters /
Comparing-Strings
Strings and Characters /
String-and-Character-Equality
Strings and Characters /
Prefix-and-Suffix-Equality
Strings and Characters /
Unicode-Representations-of-Strings
Strings and Characters /
UTF-8-Representation
Strings and Characters /
UTF-16-Representation
Strings and Characters /
Unicode-Scalar-Representation
Collection Types
Collection Types /
app-top
Collection Types /
Mutability-of-Collections
Collection Types /
Arrays
Collection Types /
Array-Type-Shorthand-Syntax
Collection Types /
Creating-an-Empty-Array
Collection Types /
Creating-an-Array-with-a-Default-Value
Collection Types /
Creating-an-Array-by-Adding-Two-Arrays-Together
Collection Types /
Creating-an-Array-with-an-Array-Literal
Collection Types /
Accessing-and-Modifying-an-Array
Collection Types /
Iterating-Over-an-Array
Collection Types /
Sets
Collection Types /
Hash-Values-for-Set-Types
Collection Types /
Set-Type-Syntax
Collection Types /
Creating-and-Initializing-an-Empty-Set
Collection Types /
Creating-a-Set-with-an-Array-Literal
Collection Types /
Accessing-and-Modifying-a-Set
Collection Types /
Iterating-Over-a-Set
Collection Types /
Performing-Set-Operations
Collection Types /
Fundamental-Set-Operations
Collection Types /
Set-Membership-and-Equality
Collection Types /
Dictionaries
Collection Types /
Dictionary-Type-Shorthand-Syntax
Collection Types /
Creating-an-Empty-Dictionary
Collection Types /
Creating-a-Dictionary-with-a-Dictionary-Literal
Collection Types /
Accessing-and-Modifying-a-Dictionary
Collection Types /
Iterating-Over-a-Dictionary
Control Flow
Control Flow /
app-top
Control Flow /
For-In-Loops
Control Flow /
While-Loops
Control Flow /
While
Control Flow /
Repeat-While
Control Flow /
Conditional-Statements
Control Flow /
If
Control Flow /
Switch
Control Flow /
Control-Transfer-Statements
Control Flow /
Continue
Control Flow /
Break
Control Flow /
Fallthrough
Control Flow /
Labeled-Statements
Control Flow /
Early-Exit
Control Flow /
Deferred-Actions
Control Flow /
Checking-API-Availability
Functions
Functions /
app-top
Functions /
Defining-and-Calling-Functions
Functions /
Function-Parameters-and-Return-Values
Functions /
Functions-Without-Parameters
Functions /
Functions-With-Multiple-Parameters
Functions /
Functions-Without-Return-Values
Functions /
Functions-with-Multiple-Return-Values
Functions /
Functions-With-an-Implicit-Return
Functions /
Function-Argument-Labels-and-Parameter-Names
Functions /
Specifying-Argument-Labels
Functions /
Omitting-Argument-Labels
Functions /
Default-Parameter-Values
Functions /
Variadic-Parameters
Functions /
In-Out-Parameters
Functions /
Function-Types
Functions /
Using-Function-Types
Functions /
Function-Types-as-Parameter-Types
Functions /
Function-Types-as-Return-Types
Functions /
Nested-Functions
Closures
Closures /
app-top
Closures /
Closure-Expressions
Closures /
The-Sorted-Method
Closures /
Closure-Expression-Syntax
Closures /
Inferring-Type-From-Context
Closures /
Implicit-Returns-from-Single-Expression-Closures
Closures /
Shorthand-Argument-Names
Closures /
Operator-Methods
Closures /
Trailing-Closures
Closures /
Capturing-Values
Closures /
Closures-Are-Reference-Types
Closures /
Escaping-Closures
Closures /
Autoclosures
Enumerations
Enumerations /
app-top
Enumerations /
Enumeration-Syntax
Enumerations /
Matching-Enumeration-Values-with-a-Switch-Statement
Enumerations /
Iterating-over-Enumeration-Cases
Enumerations /
Associated-Values
Enumerations /
Raw-Values
Enumerations /
Implicitly-Assigned-Raw-Values
Enumerations /
Initializing-from-a-Raw-Value
Enumerations /
Recursive-Enumerations
Structures and Classes
Structures and Classes /
app-top
Structures and Classes /
Comparing-Structures-and-Classes
Structures and Classes /
Definition-Syntax
Structures and Classes /
Structure-and-Class-Instances
Structures and Classes /
Accessing-Properties
Structures and Classes /
Memberwise-Initializers-for-Structure-Types
Structures and Classes /
Structures-and-Enumerations-Are-Value-Types
Structures and Classes /
Classes-Are-Reference-Types
Structures and Classes /
Identity-Operators
Structures and Classes /
Pointers
Properties
Properties /
app-top
Properties /
Stored-Properties
Properties /
Stored-Properties-of-Constant-Structure-Instances
Properties /
Lazy-Stored-Properties
Properties /
Stored-Properties-and-Instance-Variables
Properties /
Computed-Properties
Properties /
Shorthand-Setter-Declaration
Properties /
Shorthand-Getter-Declaration
Properties /
Read-Only-Computed-Properties
Properties /
Property-Observers
Properties /
Property-Wrappers
Properties /
Setting-Initial-Values-for-Wrapped-Properties
Properties /
Projecting-a-Value-From-a-Property-Wrapper
Properties /
Global-and-Local-Variables
Properties /
Type-Properties
Properties /
Type-Property-Syntax
Properties /
Querying-and-Setting-Type-Properties
Methods
Methods /
app-top
Methods /
Instance-Methods
Methods /
The-self-Property
Methods /
Modifying-Value-Types-from-Within-Instance-Methods
Methods /
Assigning-to-self-Within-a-Mutating-Method
Methods /
Type-Methods
Subscripts
Subscripts /
app-top
Subscripts /
Subscript-Syntax
Subscripts /
Subscript-Usage
Subscripts /
Subscript-Options
Subscripts /
Type-Subscripts
Inheritance
Inheritance /
app-top
Inheritance /
Defining-a-Base-Class
Inheritance /
Subclassing
Inheritance /
Overriding
Inheritance /
Accessing-Superclass-Methods-Properties-and-Subscripts
Inheritance /
Overriding-Methods
Inheritance /
Overriding-Properties
Inheritance /
Preventing-Overrides
Initialization
Initialization /
app-top
Initialization /
Setting-Initial-Values-for-Stored-Properties
Initialization /
Initializers
Initialization /
Default-Property-Values
Initialization /
Customizing-Initialization
Initialization /
Initialization-Parameters
Initialization /
Parameter-Names-and-Argument-Labels
Initialization /
Initializer-Parameters-Without-Argument-Labels
Initialization /
Optional-Property-Types
Initialization /
Assigning-Constant-Properties-During-Initialization
Initialization /
Default-Initializers
Initialization /
Memberwise-Initializers-for-Structure-Types
Initialization /
Initializer-Delegation-for-Value-Types
Initialization /
Class-Inheritance-and-Initialization
Initialization /
Designated-Initializers-and-Convenience-Initializers
Initialization /
Syntax-for-Designated-and-Convenience-Initializers
Initialization /
Initializer-Delegation-for-Class-Types
Initialization /
Two-Phase-Initialization
Initialization /
Initializer-Inheritance-and-Overriding
Initialization /
Automatic-Initializer-Inheritance
Initialization /
Designated-and-Convenience-Initializers-in-Action
Initialization /
Failable-Initializers
Initialization /
Failable-Initializers-for-Enumerations
Initialization /
Failable-Initializers-for-Enumerations-with-Raw-Values
Initialization /
Propagation-of-Initialization-Failure
Initialization /
Overriding-a-Failable-Initializer
Initialization /
The-init-Failable-Initializer
Initialization /
Required-Initializers
Initialization /
Setting-a-Default-Property-Value-with-a-Closure-or-Function
Deinitialization
Deinitialization /
app-top
Deinitialization /
How-Deinitialization-Works
Deinitialization /
Deinitializers-in-Action
Optional Chaining
Optional Chaining /
app-top
Optional Chaining /
Optional-Chaining-as-an-Alternative-to-Forced-Unwrapping
Optional Chaining /
Defining-Model-Classes-for-Optional-Chaining
Optional Chaining /
Accessing-Properties-Through-Optional-Chaining
Optional Chaining /
Calling-Methods-Through-Optional-Chaining
Optional Chaining /
Accessing-Subscripts-Through-Optional-Chaining
Optional Chaining /
Accessing-Subscripts-of-Optional-Type
Optional Chaining /
Linking-Multiple-Levels-of-Chaining
Optional Chaining /
Chaining-on-Methods-with-Optional-Return-Values
Error Handling
Error Handling /
app-top
Error Handling /
Representing-and-Throwing-Errors
Error Handling /
Handling-Errors
Error Handling /
Propagating-Errors-Using-Throwing-Functions
Error Handling /
Handling-Errors-Using-Do-Catch
Error Handling /
Converting-Errors-to-Optional-Values
Error Handling /
Disabling-Error-Propagation
Error Handling /
Specifying-Cleanup-Actions
Concurrency
Concurrency /
app-top
Concurrency /
Defining-and-Calling-Asynchronous-Functions
Concurrency /
Asynchronous-Sequences
Concurrency /
Calling-Asynchronous-Functions-in-Parallel
Concurrency /
Tasks-and-Task-Groups
Concurrency /
Unstructured-Concurrency
Concurrency /
Task-Cancellation
Concurrency /
Actors
Concurrency /
Sendable-Types
Macros
Macros /
app-top
Macros /
Freestanding-Macros
Macros /
Attached-Macros
Macros /
Macro-Declarations
Macros /
Macro-Expansion
Macros /
Implementing-a-Macro
Macros /
Developing-and-Debugging-Macros
Type Casting
Type Casting /
app-top
Type Casting /
Defining-a-Class-Hierarchy-for-Type-Casting
Type Casting /
Checking-Type
Type Casting /
Downcasting
Type Casting /
Type-Casting-for-Any-and-AnyObject
Nested Types
Nested Types /
app-top
Nested Types /
Nested-Types-in-Action
Nested Types /
Referring-to-Nested-Types
Extensions
Extensions /
app-top
Extensions /
Extension-Syntax
Extensions /
Computed-Properties
Extensions /
Initializers
Extensions /
Methods
Extensions /
Mutating-Instance-Methods
Extensions /
Subscripts
Extensions /
Nested-Types
Protocols
Protocols /
app-top
Protocols /
Protocol-Syntax
Protocols /
Property-Requirements
Protocols /
Method-Requirements
Protocols /
Mutating-Method-Requirements
Protocols /
Initializer-Requirements
Protocols /
Class-Implementations-of-Protocol-Initializer-Requirements
Protocols /
Failable-Initializer-Requirements
Protocols /
Protocols-as-Types
Protocols /
Delegation
Protocols /
Adding-Protocol-Conformance-with-an-Extension
Protocols /
Conditionally-Conforming-to-a-Protocol
Protocols /
Declaring-Protocol-Adoption-with-an-Extension
Protocols /
Adopting-a-Protocol-Using-a-Synthesized-Implementation
Protocols /
Collections-of-Protocol-Types
Protocols /
Protocol-Inheritance
Protocols /
Class-Only-Protocols
Protocols /
Protocol-Composition
Protocols /
Checking-for-Protocol-Conformance
Protocols /
Optional-Protocol-Requirements
Protocols /
Protocol-Extensions
Protocols /
Providing-Default-Implementations
Protocols /
Adding-Constraints-to-Protocol-Extensions
Generics
Generics /
app-top
Generics /
The-Problem-That-Generics-Solve
Generics /
Generic-Functions
Generics /
Type-Parameters
Generics /
Naming-Type-Parameters
Generics /
Generic-Types
Generics /
Extending-a-Generic-Type
Generics /
Type-Constraints
Generics /
Type-Constraint-Syntax
Generics /
Type-Constraints-in-Action
Generics /
Associated-Types
Generics /
Associated-Types-in-Action
Generics /
Extending-an-Existing-Type-to-Specify-an-Associated-Type
Generics /
Adding-Constraints-to-an-Associated-Type
Generics /
Using-a-Protocol-in-Its-Associated-Types-Constraints
Generics /
Generic-Where-Clauses
Generics /
Extensions-with-a-Generic-Where-Clause
Generics /
Contextual-Where-Clauses
Generics /
Associated-Types-with-a-Generic-Where-Clause
Generics /
Generic-Subscripts
Opaque and Boxed Types
Opaque and Boxed Types /
app-top
Opaque and Boxed Types /
The-Problem-That-Opaque-Types-Solve
Opaque and Boxed Types /
Returning-an-Opaque-Type
Opaque and Boxed Types /
Boxed-Protocol-Types
Opaque and Boxed Types /
Differences-Between-Opaque-Types-and-Boxed-Protocol-Types
Automatic Reference Counting
Automatic Reference Counting /
app-top
Automatic Reference Counting /
How-ARC-Works
Automatic Reference Counting /
ARC-in-Action
Automatic Reference Counting /
Strong-Reference-Cycles-Between-Class-Instances
Automatic Reference Counting /
Resolving-Strong-Reference-Cycles-Between-Class-Instances
Automatic Reference Counting /
Weak-References
Automatic Reference Counting /
Unowned-References
Automatic Reference Counting /
Unowned-Optional-References
Automatic Reference Counting /
Unowned-References-and-Implicitly-Unwrapped-Optional-Properties
Automatic Reference Counting /
Strong-Reference-Cycles-for-Closures
Automatic Reference Counting /
Resolving-Strong-Reference-Cycles-for-Closures
Automatic Reference Counting /
Defining-a-Capture-List
Automatic Reference Counting /
Weak-and-Unowned-References
Memory Safety
Access Control
Access Control /
app-top
Access Control /
Modules-and-Source-Files
Access Control /
Access-Levels
Access Control /
Guiding-Principle-of-Access-Levels
Access Control /
Default-Access-Levels
Access Control /
Access-Levels-for-Single-Target-Apps
Access Control /
Access-Levels-for-Frameworks
Access Control /
Access-Levels-for-Unit-Test-Targets
Access Control /
Access-Control-Syntax
Access Control /
Custom-Types
Access Control /
Tuple-Types
Access Control /
Function-Types
Access Control /
Enumeration-Types
Access Control /
Nested-Types
Access Control /
Subclassing
Access Control /
Constants-Variables-Properties-and-Subscripts
Access Control /
Getters-and-Setters
Access Control /
Initializers
Access Control /
Default-Initializers
Access Control /
Default-Memberwise-Initializers-for-Structure-Types
Access Control /
Protocols
Access Control /
Protocol-Inheritance
Access Control /
Protocol-Conformance
Access Control /
Extensions
Access Control /
Private-Members-in-Extensions
Access Control /
Generics
Access Control /
Type-Aliases
Advanced Operators
Advanced Operators /
app-top
Advanced Operators /
Bitwise-Operators
Advanced Operators /
Bitwise-NOT-Operator
Advanced Operators /
Bitwise-AND-Operator
Advanced Operators /
Bitwise-OR-Operator
Advanced Operators /
Bitwise-XOR-Operator
Advanced Operators /
Bitwise-Left-and-Right-Shift-Operators
Advanced Operators /
Overflow-Operators
Advanced Operators /
Value-Overflow
Advanced Operators /
Precedence-and-Associativity
Advanced Operators /
Operator-Methods
Advanced Operators /
Prefix-and-Postfix-Operators
Advanced Operators /
Compound-Assignment-Operators
Advanced Operators /
Equivalence-Operators
Advanced Operators /
Custom-Operators
Advanced Operators /
Precedence-for-Custom-Infix-Operators
Advanced Operators /
Result-Builders
About the Language Reference
Lexical Structure
Lexical Structure /
app-top
Lexical Structure /
Whitespace-and-Comments
Lexical Structure /
Identifiers
Lexical Structure /
Keywords-and-Punctuation
Lexical Structure /
Literals
Lexical Structure /
Integer-Literals
Lexical Structure /
Floating-Point-Literals
Lexical Structure /
String-Literals
Lexical Structure /
Regular-Expression-Literals
Lexical Structure /
Operators
Types
Types /
app-top
Types /
Type-Annotation
Types /
Type-Identifier
Types /
Tuple-Type
Types /
Function-Type
Types /
Restrictions-for-Nonescaping-Closures
Types /
Array-Type
Types /
Dictionary-Type
Types /
Optional-Type
Types /
Implicitly-Unwrapped-Optional-Type
Types /
Protocol-Composition-Type
Types /
Opaque-Type
Types /
Boxed-Protocol-Type
Types /
Metatype-Type
Types /
Any-Type
Types /
Self-Type
Types /
Type-Inheritance-Clause
Types /
Type-Inference
Expressions
Expressions /
app-top
Expressions /
Prefix-Expressions
Expressions /
In-Out-Expression
Expressions /
Try-Operator
Expressions /
Await-Operator
Expressions /
Infix-Expressions
Expressions /
Assignment-Operator
Expressions /
Ternary-Conditional-Operator
Expressions /
Type-Casting-Operators
Expressions /
Primary-Expressions
Expressions /
Literal-Expression
Expressions /
Self-Expression
Expressions /
Superclass-Expression
Expressions /
Conditional-Expression
Expressions /
Closure-Expression
Expressions /
Implicit-Member-Expression
Expressions /
Parenthesized-Expression
Expressions /
Tuple-Expression
Expressions /
Wildcard-Expression
Expressions /
Macro-Expansion-Expression
Expressions /
Key-Path-Expression
Expressions /
Selector-Expression
Expressions /
Key-Path-String-Expression
Expressions /
Postfix-Expressions
Expressions /
Function-Call-Expression
Expressions /
Initializer-Expression
Expressions /
Explicit-Member-Expression
Expressions /
Postfix-Self-Expression
Expressions /
Subscript-Expression
Expressions /
Forced-Value-Expression
Expressions /
Optional-Chaining-Expression
Statements
Statements /
app-top
Statements /
Loop-Statements
Statements /
For-In-Statement
Statements /
While-Statement
Statements /
Repeat-While-Statement
Statements /
Branch-Statements
Statements /
If-Statement
Statements /
Guard-Statement
Statements /
Switch-Statement
Statements /
Labeled-Statement
Statements /
Control-Transfer-Statements
Statements /
Break-Statement
Statements /
Continue-Statement
Statements /
Fallthrough-Statement
Statements /
Return-Statement
Statements /
Throw-Statement
Statements /
Defer-Statement
Statements /
Do-Statement
Statements /
Compiler-Control-Statements
Statements /
Conditional-Compilation-Block
Statements /
Line-Control-Statement
Statements /
Compile-Time-Diagnostic-Statement
Statements /
Availability-Condition
Declarations
Declarations /
app-top
Declarations /
Top-Level-Code
Declarations /
Code-Blocks
Declarations /
Import-Declaration
Declarations /
Constant-Declaration
Declarations /
Variable-Declaration
Declarations /
Stored-Variables-and-Stored-Variable-Properties
Declarations /
Computed-Variables-and-Computed-Properties
Declarations /
Stored-Variable-Observers-and-Property-Observers
Declarations /
Type-Variable-Properties
Declarations /
Type-Alias-Declaration
Declarations /
Function-Declaration
Declarations /
Parameter-Names
Declarations /
In-Out-Parameters
Declarations /
Special-Kinds-of-Parameters
Declarations /
Special-Kinds-of-Methods
Declarations /
Methods-with-Special-Names
Declarations /
Throwing-Functions-and-Methods
Declarations /
Rethrowing-Functions-and-Methods
Declarations /
Asynchronous-Functions-and-Methods
Declarations /
Functions-that-Never-Return
Declarations /
Enumeration-Declaration
Declarations /
Enumerations-with-Cases-of-Any-Type
Declarations /
Enumerations-with-Cases-of-a-Raw-Value-Type
Declarations /
Accessing-Enumeration-Cases
Declarations /
Structure-Declaration
Declarations /
Class-Declaration
Declarations /
Actor-Declaration
Declarations /
Protocol-Declaration
Declarations /
Protocol-Property-Declaration
Declarations /
Protocol-Method-Declaration
Declarations /
Protocol-Initializer-Declaration
Declarations /
Protocol-Subscript-Declaration
Declarations /
Protocol-Associated-Type-Declaration
Declarations /
Initializer-Declaration
Declarations /
Failable-Initializers
Declarations /
Deinitializer-Declaration
Declarations /
Extension-Declaration
Declarations /
Conditional-Conformance
Declarations /
Protocol-Conformance-Must-Not-Be-Redundant
Declarations /
Subscript-Declaration
Declarations /
Type-Subscript-Declarations
Declarations /
Macro-Declaration
Declarations /
Operator-Declaration
Declarations /
Precedence-Group-Declaration
Declarations /
Declaration-Modifiers
Declarations /
Access-Control-Levels
Attributes
Attributes /
app-top
Attributes /
Declaration-Attributes
Attributes /
attached
Attributes /
available
Attributes /
discardableResult
Attributes /
dynamicCallable
Attributes /
dynamicMemberLookup
Attributes /
freestanding
Attributes /
frozen
Attributes /
GKInspectable
Attributes /
inlinable
Attributes /
main
Attributes /
nonobjc
Attributes /
NSApplicationMain
Attributes /
NSCopying
Attributes /
NSManaged
Attributes /
objc
Attributes /
objcMembers
Attributes /
propertyWrapper
Attributes /
resultBuilder
Attributes /
requiresstoredpropertyinits
Attributes /
testable
Attributes /
UIApplicationMain
Attributes /
unchecked
Attributes /
usableFromInline
Attributes /
warnunqualifiedaccess
Attributes /
Declaration-Attributes-Used-by-Interface-Builder
Attributes /
Type-Attributes
Attributes /
autoclosure
Attributes /
convention
Attributes /
escaping
Attributes /
Sendable
Attributes /
Switch-Case-Attributes
Attributes /
unknown
Patterns
Patterns /
app-top
Patterns /
Wildcard-Pattern
Patterns /
Identifier-Pattern
Patterns /
Value-Binding-Pattern
Patterns /
Tuple-Pattern
Patterns /
Enumeration-Case-Pattern
Patterns /
Optional-Pattern
Patterns /
Type-Casting-Patterns
Patterns /
Expression-Pattern
Generic Parameters and Arguments
Generic Parameters and Arguments /
app-top
Generic Parameters and Arguments /
Generic-Parameter-Clause
Generic Parameters and Arguments /
Generic-Where-Clauses
Generic Parameters and Arguments /
Generic-Argument-Clause
Summary of the Grammar
Summary of the Grammar /
app-top
Summary of the Grammar /
Lexical-Structure
Summary of the Grammar /
Types
Summary of the Grammar /
Expressions
Summary of the Grammar /
Statements
Summary of the Grammar /
Declarations
Summary of the Grammar /
Attributes
Summary of the Grammar /
Patterns
Summary of the Grammar /
Generic-Parameters-and-Arguments
Document Revision History