iOS — нельзя использовать «супер» в качестве ссылки?

Я пытаюсь использовать NSInvocationдля вызова метода суперкласса из подкласса. Используемый код относительно прост:

- (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;
}

Это кажется мне немного странным, так как я всегда предполагал, что superследует почти тем же правилам, что и self( т. е. его можно рассматривать как прямую ссылку на рассматриваемый объект и присваивать переменным, использовать как возвращаемое значение и т. д.). Представляется, что на практике это не так.

Во всяком случае, есть ли простой способ заставить мой NSInvocationнацелить реализацию суперкласса (я не могу использовать selfв качестве цели, потому что подкласс переопределяет методы суперкласса) или мне нужно искать какой-то другой подход?

6
задан Monolo 17 June 2012 в 20:03
поделиться