C'è un modo per rilevare dinamicamente dall'interno di una classe figlio se ha la precedenza sui metodi dei genitori?Objective-C rileva se la classe sovrascrive il metodo ereditato
Class A {
- methodRed;
- methodGreen;
- methodBlue;
}
Class B inherits A {
- methodRed;
}
Dal suddetto esempio vorrei sapere se la classe B è in grado di rilevare in modo dinamico che solo -methodRed;
stata ignorata.
La ragione mi chiedo di questo approccio rispetto ad alcune altre possibilità è perché ho decine di visualizzazioni personalizzate che cambieranno l'aspetto. Sarebbe molto meno codice se potessi rilevare dinamicamente i metodi sovrascritti rispetto a tenere traccia.
Grazie per l'aggiornamento, questo è buono! Ti darei un altro voto, ma te ne ho già dato uno. – cnotethegr8
chiunque usi questo codice dovrebbe '#importare' –
cnotethegr8
Ancora più semplice: 'class_getMethodImplementation()' può sostituire le due chiamate concatenate in precedenza e in alcuni casi potrebbe essere più veloce. Vedi https://developer.apple.com/documentation/cocoa/reference/objcruntimeref per i dettagli. –