0
Objective-C에서 개체의 수퍼 클래스 메서드를 어떻게 호출합니까?Superclass 메서드 호출
예를 들어 개체 "foo"의 인스턴스가 있다고 가정 해 봅시다.
"foo"에는 재정의 된 메서드가 있습니다. 이 오버 라이딩 된 메서드를 호출하고 싶지 않습니다. 대신 foo 객체 인스턴스에서 원래 메서드를 호출하려고합니다.
당신은 할 수 없습니다
[[instance super] super_method];
를 지금까지 내가 알고있다. 그러면 어떻게해야할까요?
-(void) callsuper
{
[super super_method];
}
및 수행 :
는 내가하는 방법 푸에 추가 할 수 있습니다 알고
[foo callsuper];
다른 방법? 나는 그것을 수행하기위한 방법을 만들고 싶지 않습니다.
'[super someMethod];를 직접 호출하지 않는 이유는 무엇입니까? - 왜 전화를 걸지? –
someMethod는 foo의 클래스에 의해 대체됩니다. 그는 서브 클래스의 구현을 통과시키고 수퍼 클래스의 구현을 직접 호출하려고합니다. 그것은 정말로 가능합니까? 그리고 그 목적/이점이 무엇인지 궁금합니다. – PeterWong
디자인 패턴이 맞습니까? [fooInstance fooClassMethod];를 직접 호출 할 수 있습니다. –