我正在尝试使用 anNSInvocation
从子类调用超类方法。涉及的代码相对简单,如下所示:
- (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
用作目标,因为子类覆盖了超类方法),还是我需要寻找其他方法?