2010-08-13 1 views
4

UIViewControllerUITableViewController 클래스가 있고이 두 코드가 - (void)viewDidLoad에 공통적 인 작업을 수행하기를 원할 때 실제로 코드를 복제하지 않고 Objective-C에서 어떻게 구현할 수 있습니까?Objective-C에서 코드를 중복하지 않는 방법은 무엇입니까? (a.k.a. 다중 상속)

나는 UIViewController을 상속받은 MyUIViewController을 생성하고 거기에 viewDidLoad을 구현하려고했습니다. 이것은 UIViewController 클래스와 완벽하게 작동하지만 @interface MyTableViewController : UITableViewController@interface MyTableViewController : MyUIViewController으로 바꿀 수 없으므로 UITableViewController에서는 작동하지 않습니다.

나는이 주제가 Objective-C 언어의 "다중 상속"에 관한 것이라고 생각하지만 Objective-C의 다른 점을 알아내는 것 외에는 그런 것들을하는 방법을 알고 싶습니다.

답변

1

This thread에는 좋은 정보가 있습니다. 주요 옵션 중 하나는 해당 공유 기능을 가진 클래스를 만들어 인스턴스 변수로 보유한 다음 메시지를 forwardInvocation에 전달하는 것입니다.

+0

예, forwardInvocation은 내가 한 모든 수치를 확인한 것입니다. 나는 아마 그것을 할 다른 방법이 있었으면 좋겠다. 감사. – Ali