Beachten Sie Folgendes:Swift - assoziierte Typen im Protokoll mit Where-Klausel?
protocol SomeProtocol {
typealias F: Foo
typealias FB: FooBar where FB.Foo == F
}
Aber dies nicht kompiliert, da wir nicht where
Klausel in typealias
so sagen kann.
ich hier etwas fehlt muss, da diese leicht mit type parameterization
wie dies getan werden kann:
struct SomeStruct<F: Foo, FB: FooBar where FB.Foo == F> {}
Was ist die where
Klausel Äquivalent für associated type
?
Ein ähnliches Problem Teil dieser Frage ist: http://stackoverflow.com/questions/33843038/define-a-swift-protocol-which-requires -a-spezifischer Typ der Sequenz. –
Sie verpassen nichts. Dies ist derzeit in Swift nicht möglich. –
Dies wurde über Radar angefordert: http://openradar.appspot.com/17203060, http://www.openradar.me/21441502, und auf swift-evolution erwähnt: https://lists.swift.org/pipermail /swift-evolution/Week-of-Mon-20160229/011666.html (siehe Überschrift "* Beliebige Anforderungen in Protokollen"), aber ich glaube nicht, dass jemand einen Evolutionsvorschlag erstellt hat. –