아는 전부입니다. Objective-c를 사용하면 메서드 호출을 수퍼 클래스로 전달할 수 있습니다. [super method] 그러나 앞으로 호출을 전달하려고합니다. super.super; 즉시 상위 클래스를 건너 뜁니다.Objective-C에서 특정 수퍼 클래스에 메서드를 전달할 수있는 방법
우리는 쉽게 타입 캐스팅 ((GrandSuper *) 객체) .method()를 통해이를 수행 할 수 있습니다.
객관적인 C에서 동일한 작업을 수행하기 위해 자신의 조항인가 난 당신이 use objc_msgSendSuper
directly에 필요가 있다고 생각
첫 번째를 질문은 왜 그런가? ObjC에서 그렇게해야하는 경우 디자인 문제가 발생할 가능성이 큽니다. –
C++에서는 타입 캐스팅을 피하고이를 대신 사용하는 것이 더 안전합니다.'object.GrandSuper :: method()' –
가장 좋은 방법은 객체 모델을 재 설계하여이를 수행 할 필요가 없도록하는 것입니다. – JeremyP