2016-04-06 9 views
3

スウィフト関連するタイプとプロトコルの継承

protocol CollectionViewModeling { 
    associatedtype CellType 
    func cellAtIndexPath(indexPath: NSIndexPath) -> CellType 
} 

今、私はビューモデルのプロトコルを持っては、上記のプロトコルに準拠:

enum MyItemCell { 
    case MyItemCell1, MyItemCell2 
} 
protocol ItemsListViewModeling: CollectionViewModeling { 
    associatedtype CellType = MyCell 
} 

var viewModel: ItemsListViewModeling 

は最後に、どこか、私はルプロトコルItemsListViewModelingに準拠しているVARを宣言したいです

そして、私はこのエラーを取得しています:それは自己または関連タイプの要件

を持っている。しかし、私は簡単にその実装クラスを作成することができますので

議定書ItemsListViewModelingは "唯一の一般的な制約として使用することができますこのプロトコル。

varを関連する型付きプロトコルに宣言できますか?私は、プロトコルItemsListViewModelingに関連する型の最終型を与えているので、私はなぜこのエラーがコンパイラから出ているのか分かりません。

おかげ

答えて

0

はあなたが定期的なプロトコル などの関連する種類のプロトコルを処理し、スタンドアロン変数の型として宣言することはできませんがstackoverflow.com

を参照してください。

関連する問題