Hallo, ich verwende Generika viel in meinem aktuellen Projekt. Ich bin jedoch auf ein Problem gestoßen:Wie ein generischer Typ erforderlich ist, implementieren Sie ein generisches Protokoll mit einem bestimmten Typ im Protokoll
Ich brauche eine generische Funktion foo<T>
um in der Lage zu sein, einen Parameter zu nehmen, der einem generischen Protokoll mit einem bestimmten Typ entspricht.
Zum Beispiel in Java kann ich tun:
public interface Proto<B> {
public void SomeFunction()
}
public class SampleClass {
}
public class Conforms extends Proto<SampleClass> {
@Override
public void SomeFunction() {}
}
public class TestingClass {
public void Requires (Proto<SampleClass> param) {
// I can use param
}
}
Wie würde ich die gleiche Requires()
Funktion in Swift zu tun? Ich weiß in Swift verwenden Sie typealias
im Protokoll für Generika. Wie beschränke ich einen Parameter basierend auf dem typealias
?
bezogen werden kann: http://stackoverflow.com/questions/24231498/swift-require-type-and-protocol-for-method-parameter –