extension キーワードでエクステンションを宣言します。

extension SomeType {
    // SomeType に追加する新しい機能
}

エクステンションで、既存の型が 1 つ以上のプロトコルをとるよう拡張することができます。このケースの場合には、プロトコル名をクラスや構造体とまったく同じように記述します。

extension SomeType: SomeProtocol, AnotherProtocol {
    // プロトコル要件の実装
}

この方法でのプロトコル準拠の追加は、Adding Protocol Conformance with an Extension で説明されています。

NOTE
既存の型に新しい機能を追加するエクステンションを定義する場合、エクステンションが定義されるよりも前にインスタンスが生成されていたとしても、その型の既存のインスタンスすべてで新しい機能を利用できるようになります。

Portions of this page are translations based on work created and shared by Apple and used according to terms described in the Creative Commons Attribution 4.0 International License.