Objective-C中的多重继承

hmt*_*hur 12 objective-c

可能重复:
Objective-C多重继承

我想在Objective-C中实现多重继承,即我有一个类"Sub",它需要是"Super"类的子类以及UITableViewController

我怎样才能在Obj-C中实现同样的目标?

Ben*_*hen 22

Objective-C不支持多重继承.您可以使用协议,组合和消息转发来实现相同的结果.

协议定义了一组对象必须实现的方法(也可以使用可选方法).组合基本上是包含对另一个对象的引用并在需要其功能时调用该对象的技术.消息转发是一种允许对象将消息传递到其他对象的机制,例如,通过合成包含的对象.

Apple参考:


Pab*_*ruz 5

Objective-C中没有多重继承.您可以尝试使用合成来解决您需要的内容.

像这样的东西:

@interface MyViewController : UIViewController {
    Sub *mySubComponent;
}
@property (nonatomic, retain) Sub *mySubComponent;
// you can write wrapper methods here to call mySubComponent methods/messages
Run Code Online (Sandbox Code Playgroud)