google firanalyticsdebugenabled iphone objective-c cocoa override superclass

iphone - firanalyticsdebugenabled - ¿Cómo se llama a un método para la superclase de un objeto Objective-C desde otro lugar?



firebase analytics ios swift (2)

Puede enviar [[[object class] superclass] methodForSelector: ...] e invocar a través del puntero IMP directamente, si lo desea ... pero si está haciendo esto, es probable que haya algo muy incorrecto en el diseño de su aplicación.

Si está implementando una subclase, puede, dentro de su implementación, llamar explícitamente al método de la superclase, incluso si ha anulado ese método, es decir:

[self overriddenMethod]; //calls the subclass''s method [super overriddenMethod]; //calls the superclass''s method

¿Qué sucede si desea llamar al método de la superclase desde algún lugar fuera de la implementación de la subclase, es decir:

[[object super] overriddenMethod]; //crashes

¿Es esto posible? Y por extensión, ¿es posible subir más de un nivel dentro de la implementación, es decir:

[[super super] overriddenMethod]; //will this work?


Una opción más agradable (para la depuración) es agregar un método de categoría que lo haga por usted:

- (void) callSuperMethod { [super overriddenMethod]; }

El hecho de que no haya una forma más conveniente de hacerlo es en gran medida por diseño.