Ich frage mich, ob es möglich ist, so etwas zu erreichen.
Ich habe einen Spielplatz wie diesen:
protocol Foo {
func testPrint()
}
extension Foo {
func testPrint() {
print("Protocol extension call")
}
}
struct Bar: Foo {
func testPrint() {
// Calling self or super go call default implementation
self.testPrint()
print("Call from struct")
}
}
let sth = Bar()
sth.testPrint()
Ich kann eine Standardimplementierung in bereitstellen, extensionaber was ist, wenn Baralles benötigt wird, was in der Standardimplementierung enthalten ist, sowie zusätzliche Dinge?
Es ist irgendwie ähnlich wie das Aufrufen von super.Methoden in classes, um die Anforderung der Implementierung jeder Eigenschaft usw. zu erfüllen, aber ich sehe keine Möglichkeit, dasselbe mit zu erreichen structs.
Foo.testPrint(self)()- das Problem ist, dass es aufgrund eines Segmentierungsfehlers (getestet auf 7.0 GM und 7.1 Beta) fehlschlägt