我们可以使用Objective-C类来扩展C ++类吗?

时间:2013-08-05 14:59:39

标签: ios objective-c

我想知道我们是否可以使用Objective-C类来扩展C ++类?

3 个答案:

答案 0 :(得分:4)

不,你不能:类/类扩展是依赖于Objective-C运行时的机制。 但是,您可以将您的C ++代码包装在Objective-C ++类中,并且可以使用类别扩展此类(尽管我从未尝试过)

答案 1 :(得分:1)

Objective-C和C ++以完全不同的方式实现类,所以不,不能使用Objective-C将方法添加到C ++类。但是,Objective-C和C ++一起发挥得非常好。您可以从Objective-C代码调用C ++方法,反之亦然,甚至可以在同一个文件中混合使用Objective-C源代码和C ++代码;这被称为Objective-C ++。

其他答案提到在Objective-C类中包装C ++类。为此,您将创建一个Objective-C类,该类具有指向所讨论的C ++类实例的实例变量。然后,您可以为与C ++接口并行的Objective-C类创建方法,并让每个方法简单地在C ++对象上调用其伙伴方法。

答案 2 :(得分:0)

不直接。但是你的Objective-C类可以非常容易地包装一个C ++类(有些技术请参见this article)。