разработка iphone: возможно ли расширить более одного viewControllers?

в моем приложении я хочу использовать googleAnalytics. Чтобы использовать его, мне нужно расширить GAITrackedViewController, но проблема в том, что я уже расширяю GLKViewController, потому что в моем представлении есть приложение openGL. Так можно ли расширить свойства обоих контроллеров представления?


person death7eater    schedule 08.01.2013    source источник


Ответы (4)


Для аналогичного случая я просто создал подкласс UIViewController (в вашем случае GLKViewController). Этот подкласс обрабатывает отслеживание представления. Все «конкретные» ViewController расширяют этот пользовательский UIViewController вместо стандартного.

Затем вы можете, например, отслеживать просмотр вручную:

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
[tracker sendView: NSStringFromClass(self.class)];
person fguchelaar    schedule 08.01.2013

Нет, в Objective-C нет множественного наследования. Вы должны написать подкласс GAITrackedViewController и подкласс GLKViewController отдельно, а также написать класс контроллера, который имеет экземпляр этих двух классов, координируя их.

person Ramy Al Zuhouri    schedule 08.01.2013

Это невозможно, Objective-C не поддерживает множественное наследование. Вам следует взглянуть на этот вопрос: множественное наследование Objective-C

person toasted_flakes    schedule 08.01.2013

очень плохо расширять 2 класса даже на языки которые это позволяют, ибо можно получить 2 пути к своему "суперу" а это путь ко многим багам

person Dima    schedule 21.01.2013