Chcę łańcucha FUNC do Super IMPL, coś w następującyjak wywołanie super w zamknięciu w Swift
class BaseClass {
func myFunc() {
// do something
}
}
class MyClass: BaseClass {
override func myFunc() {
self.myOtherFunc(completionHandler: {
super.myFunc() // error: 'super' members cannot be referenced in a non-class type
})
}
...
}
Błąd kompilacji rzeczywiście mówi mi powód wyraźnie: zamknięcie nie jest to typ klasy i nie jest dozwolone. Szukasz jakiejkolwiek sugestii Jak mogę wywołać metodę zdefiniowaną w super klasie?
Czuję, że to błąd, ponieważ jeśli 'self' jest dostępny, to' super' powinno być dostępne, ponieważ 'super' jest tylko 'self' wywoływane z innym schematem wyszukiwania metod. – newacct
Jednak schemat wyszukiwania metod "zaczyna wyglądać poniżej klasy, do której należy ta metoda", a ta informacja nie znajduje się w zamknięciu. – gnasher729