Как не дублировать код в Objective-C? (a.k.a. множественное наследование) - PullRequest
4 голосов
/ 13 августа 2010

Если у вас есть классы UIViewController и UITableViewController, и вы хотите, чтобы эти двое делали некоторые общие вещи в своих - (void)viewDidLoad, как вы могли бы добиться этого в Objective-C, фактически не дублируя ваш код?

Я пытался создать MyUIViewController наследуя UIViewController и реализовать там viewDidLoad.Это прекрасно работает с UIViewController классами, очевидно, но не будет работать в UITableViewController, так как я не могу просто заменить @interface MyTableViewController : UITableViewController на @interface MyTableViewController : MyUIViewController.

Я считаю, что эта тема о "множественном наследовании""на языке Objective-C, но кроме того, чтобы выяснить, что отличается от Objective-C, я действительно хотел бы знать, как сделать, ребята, делать такие вещи?

1 Ответ

1 голос
/ 13 августа 2010

В этой теме есть много полезной информации.Один из основных вариантов - создать класс с этой общей функциональностью и сохранить его в качестве переменной экземпляра, а затем переслать ему сообщения в forwardInvocation.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...