質問: プロトコルvsジェネリック 型を使用するクラスがありますが、その型について何も知る必要はありません。 swiftでは、これを次の2つの方法のいずれかでコーディングできます。protocol type { } class class { // use type } またはclass class<type> { // use type } クライアントが型に空のプロトコルを使用したい場合、空のプロトコルで汎用クラスをインスタンス化できるため、現在は後者に傾いています。他の人の考えについてフィードバックをもらいたいのですが。
回答: この場合、ジェネリック型パラメーターを使用する必要があります。空のプロトコルを使用すると、ほぼ anyを使用するのと同じになります(anyとは異なり、タイプはtypeに準拠するように手動で拡張する必要があります)。classに何かを入れると、anyを使用した場合と同じように、その型情報が失われます。そのタイプの情報は役に立つかもしれません、それを捨てないでください!