iphone开发:我怎样才能从多个类继承?

时间:2013-01-08 20:53:19

标签: iphone objective-c ios inheritance protocols

  

可能重复:
  Objective-C multiple inheritance

在我的iPhone应用程序中,我想使用googleAnalytics,但问题是我必须继承Google提供的GAITrackedViewController。问题是我已经扩展了GLKViewController,而objective-c不允许多重继承。一些主题建议使用协议。我不知道他们以前从未使用过它们,但我认为为时已晚,因为我已经设计并实现了我的项目。我该怎么办?有什么例子可以解决这种问题吗?

2 个答案:

答案 0 :(得分:1)

多重继承很少是个好主意。

实施多种协议。阅读Objective-C关于协议的介绍, 它们类似于java接口。

如果这不起作用,因为这两个类不提供协议,你仍然可以使用aggreation:定义两个成员,一个用于glkVieController,另一个用于gaiTrackedViewController

答案 1 :(得分:1)

Objective C不支持多重继承。但是通过使用Composition,Protocols和Message Forwarding,您将获得相同的结果。

您应该在此link-AppleDoc

上引用apple doc for Multiple Inheritance and Message Forwarding

对于作文,请检查此link

对于Objective C中的协议,请检查此link Protocol in Objective C