2016-04-06 26 views
3

Ben Swift 2.2 kullanıyorum ve aşağıdaki gibi ilişkili türüyle bir protokol ilan:Swift ilişkili türleri ve protokol kalıtım

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

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

Ben bir görünüm modeli protokol var yukarıdaki protokole uygun

var viewModel: ItemsListViewModeling 
:

Son olarak, başka bir yerde, ben le protokol ItemsListViewModeling uygun olan bir var bildirmek istiyorum

Ve bu hatayı alıyorum:

o Self veya ilgili türü gereksinimlerini

çünkü Protokol 'ItemsListViewModeling' sadece genel kısıtlaması olarak kullanılabilir Ama kolayca uygular bir sınıf oluşturabilir bu protokol.

İlişkilendirilmiş bir iletişim kuralı için bir varyasyon bildirmek mümkün mü? ItemsListViewModeling protokolünde ilişkili türün son türünü verdiğim için, neden bu hatayı derleyiciden görebiliyorum anlamıyorum.

Teşekkür

cevap

0

Düzenli protokoller gibi ilişkili türleri ile protokolleri tedavi ve bağımsız değişken türleri olarak ilan edemez orada stackoverflow.com

bakınız.