voglio catena un func a impl super, qualcosa di simile al seguenteCome chiamare eccellente in chiusura nel 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
})
}
...
}
l'errore di compilazione in realtà mi dice che il motivo chiaro: la chiusura non è un tipo di classe e non è permesso. Alla ricerca di qualsiasi suggerimento Come faccio a richiamare il metodo definito in super-classe?
sento che questo è un bug, perché se 'self' è disponibile, allora' super' dovrebbe essere disponibile, in quanto 'super' è solo 'self' chiamato con un diverso schema di ricerca dei metodi. – newacct
Ma lo schema di ricerca del metodo è "inizia a cercare sotto la classe a cui appartiene questo metodo" e quell'informazione non è presente nella chiusura. – gnasher729