2013-09-03 1 views
0

someMethod가 다시 작성되면 클래스에서 상속 받았으며 [self someMethod]을 호출 할 수 있습니다. [super someMethod]을 호출 할 수도 있습니다.Objective-C에서 composite의 super 메서드를 호출 할 수 있습니까?

대신 작성을 사용하면 어떨까요? 내가 porperty

@propery (nonatomic, strong) XXXController xxController; 

사용 [self.xxController someMethod] 것으로 someMethod를 호출하는,하지만 어떻게 호출 xxController의 슈퍼 버전 것으로 someMethod 말해봐?

+0

Objective C에서 가능하지 않다고 확신합니다. –

답변

3

아니요, 가능하지 않습니다 *. 컴포지션을 사용하면 캡슐화를 중단 할 수 없습니다.

* (이 사용하여 런타임 기능을 실제로 가능하지만 당신은 정말, 정말, 정말 그렇게해서는 안됩니다!)

2

당신은 할 수 없습니다. 그리고 너는 그러고 싶지 않아. 컴포지션 스타일 여부, 객체는 자체 메서드를 구현해야하며 필요하면 고유 한 super이라고합니다.

대신 서브 클래스에서 을 호출하여 원하는 방식으로 서브 클래스 XXXController을 서브 클래스해야합니다.

관련 문제