Ich verwende Swift 2.2 und ich ein Protokoll mit zugehörigem Typ wie folgt erklärt:Swift assoziierten Arten und Protokoll Vererbung
protocol CollectionViewModeling {
associatedtype CellType
func cellAtIndexPath(indexPath: NSIndexPath) -> CellType
}
Jetzt habe ich ein Ansichtsmodell Protokoll das obige Protokoll entsprechen:
enum MyItemCell {
case MyItemCell1, MyItemCell2
}
protocol ItemsListViewModeling: CollectionViewModeling {
associatedtype CellType = MyCell
}
Schließlich woanders, ich möchte eine var deklarieren, die zu le Protokoll ItemsListViewModeling konform ist:
var viewModel: ItemsListViewModeling
Und ich bin immer diese Fehlermeldung:
Protokoll ‚ItemsListViewModeling‘ kann nur als generische Einschränkung verwendet werden, da es Selbst oder zugehörigen Typ Anforderungen
hat Aber ich kann eine Klasse, die Geräte einfach erstellen dieses Protokoll.
Ist es möglich, eine var zu einem zugeordneten typisierten Protokoll zu deklarieren? Da ich den letzten Typ des zugeordneten Typs im Protokoll ItemsListViewModeling gebe, verstehe ich nicht, warum ich diesen Fehler vom Compiler sehe.
Dank