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, extension
aber was ist, wenn Bar
alles benötigt wird, was in der Standardimplementierung enthalten ist, sowie zusätzliche Dinge?
Es ist irgendwie ähnlich wie das Aufrufen von super.
Methoden in class
es, 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