在我的应用中,我想使用googleAnalytics。要使用它,我必须扩展GAITrackedViewController,但问题是我已经扩展了GLKViewController,因为我的视图有一个openGL应用程序。那么是否可以扩展两个视图控制器的属性?
答案 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个类也是非常糟糕的, 因为你可以通过两种方式获得“超级”,这是一种解决许多错误的方法