Estoy tratando de usar un NSInvocation
para invocar un método de superclase de la subclase. El código en cuestión es relativamente sencillo, va así:iOS: ¿No se puede usar 'super' como referencia?
- (NSInvocation*) invocationWithSelector:(SEL)selector {
NSInvocation* call = [[NSInvocation alloc] init];
[call retainArguments];
call.target = super; //ERROR: use of undeclared identifier 'super'
call.selector = @selector(selector);
return call;
}
Esto parece un poco extraño para mí, ya que siempre había asumido que super
siguieron más o menos las mismas reglas que self
(es decir, que podrían ser tratados como una directa referencia al objeto en cuestión y asignado a variables, usado como un valor de retorno, etc.). Parece que este no es el caso en la práctica.
De todos modos, ¿hay alguna forma sencilla de obtener mi NSInvocation
para apuntar la implementación de la superclase (no puedo usar self
como el objetivo, debido a que la subclase sobreescribe los métodos de superclase), o necesito a buscar algún otro enfoque?
funciona selfsuperclass? (solo adivinando aquí ...) – Pochi