NSInvocation
을 사용하여 하위 클래스의 수퍼 클래스 메서드를 호출하려고합니다.iOS - '수퍼'를 참조로 사용할 수 없습니까?
- (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
는 슈퍼 클래스의 구현을 목표로 얻을 수있는 간단한 방법 (I 대상으로 self
을 사용할 수는 서브 클래스는 슈퍼 클래스의 메소드를 오버라이드 (override) 때문에), 아니면 다른 방법을 찾기 위해 필요합니까 있는가?
않습니다. (그냥 추측하면 ...) – Pochi