10
2つのプロトコル(Archivable
およびSerializable
)と複数のサブクラス化されたクラス(Model
)があります。サブクラスの多くは、Archivable
またはSerializable
(またはその両方)のいずれかを実装します。私はArchivable
とSerializable
の両方を実装するModel
のすべての子に関数を定義したいと思います。これらの作業の両方:Swiftのプロトコル拡張オブジェクトがクラスでプロトコルに準拠する
extension Serializable where Self: Model {
func fetch() { ... }
}
または
extension Serializable where Self: Archivable {
func fetch() { ... }
}
は、しかし、私は両方のプロトコルが必要な場合に拡張する方法を見つけ出すことはできません。最初の2つに準拠した第3のプロトコルを作成する以外の方法はありますか?
ありがとうございました - これは私がまさに必要です。システムが私にできるようになると、答えとしてマークされます。 –
それは素晴らしいヒントです! – Fattie