iphone开发:是否有可能扩展多个viewControllers?

时间:2013-01-08 13:45:56

标签: iphone objective-c ios uiviewcontroller glkit

在我的应用中,我想使用googleAnalytics。要使用它,我必须扩展GAITrackedViewController,但问题是我已经扩展了GLKViewController,因为我的视图有一个openGL应用程序。那么是否可以扩展两个视图控制器的属性?

4 个答案:

答案 0 :(得分:2)

对于类似的情况,我只是创建了一个UIViewController的子类(在你的例子中是GLKViewController)。该子类处理视图的跟踪。所有“特定”ViewControllers都扩展了自定义UIViewController,而不是默认值。

然后,您可以手动跟踪视图:

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

答案 1 :(得分:1)

不,Objective-C中没有多重继承。您已经分别编写了GAITrackedViewController的子类和GLKViewController的子类,并编写了一个控制器类,它具有这两个类的实例,协调它们。

答案 2 :(得分:0)

这是不可能的,objective-C不支持多重继承。你应该看看这个问题:Objective-C multiple inheritance

答案 3 :(得分:0)

即使在允许它的语言上扩展2个类也是非常糟糕的, 因为你可以通过两种方式获得“超级”,这是一种解决许多错误的方法