Protocols
Declaration and initialization
Method requirements
Property requirements
Constructor requirements
Subscript requirements
Inheritance of protocols
Protocol composition
Conformance checking (is, as)
Collection of protocols
Type extension
Protocol extension
Class-only protocols
Optional requirements
Associated type
Mutating methods
Protocol conformance adoption
Protocol extension constraints
Nested interface
class
Button
{
protocol
Style
{}
}
class
ImageButton
:
Button
.
Style
{}