2016-03-31 13 views
0

フレームワークに対して一般的なSwiftプロトコル(つまり、少なくとも1つのプロトコルがassociatedtype)を定義する場合は、Any...構造体も提供するのが一般的です。 SomethingTypeおよびAnySomething。たとえば、標準ライブラリはAnySequenceでこれを行います。タイプ消去済みです...非ジェネリックプロトコルに必要な構造体?

これは非ジェネリックプロトコルに必要ですか?その場合、プロトコルタイプを直接参照することができます。したがって、プロトコル自体は既にタイプ消去されたバージョンであるようです。

答えて

0

関連する型を持たないプロトコルは、それ自体の型で簡単に使用できます。これは、さまざまな具体的な型をすべての具体的な型が実装する共通のプロトコルによってのみ識別するコレクションに格納できるようにするためによく行われます。

また、別の言い方をすると、「タイプ消去」は、関連するタイプを持つプロトコルを処理する手法です。プロトコルに関連タイプがない場合は、この手法を使用する必要はありません。

関連する問題