我想知道是否有可能實現這樣的事情。
我有這樣一個遊樂場:從常規方法調用協議默認實現
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()
我可以提供一個默認實現extension
但如果Bar
需要的一切,是在默認的實現以及附加的東西呢?
它在某種程度上類似於調用super.
方法在class
es滿足實施每個屬性等的要求,但我認爲沒有可能實現與structs
相同。
我會用'Foo.testPrint(個體經營)()' - 問題是,它未能由於分割故障(在7.0 GM和7.1 beta上測試) – Antonio
這是一個奇怪的構造你已經提出 – cojoj
每個實例方法是一個靜態的curried方法,以一個實例作爲其第一個參數 – Antonio