我想知道我们是否可以使用 Objective-C 类别来扩展 C++ 类?
问问题
922 次
3 回答
4
不,你不能:类别/类扩展是依赖于 Objective-C 运行时的机制。但是,您可以将您的 C++ 代码包装在一个 Objective-C++ 类中,并且您可以使用类别扩展这个类(尽管我从未尝试过)
于 2013-08-05T15:05:53.830 回答
1
Objective-C 和 C++ 实现类的方式完全不同,所以不,您不能使用 Objective-C 向 C++ 类添加方法。然而,Objective-C 和 C++ 很好地结合在一起。您可以从 Objective-C 代码调用 C++ 方法,反之亦然,甚至可以在同一个文件中混合使用 Objective-C 源代码和 C++ 源代码;这被称为Objective-C++。
其他答案提到将 C++ 类包装在 Objective-C 类中。为此,您将创建一个具有实例变量的 Objective-C 类,该实例变量指向相关 C++ 类的实例。然后,您可以为与 C++ 接口并行的 Objective-C 类创建方法,并让每个方法简单地在 C++ 对象上调用其伙伴方法。
于 2013-08-05T15:20:58.413 回答
0
不是直接的。但是您的 Objective-C 类可以很容易地包装 C++ 类(有关一些技术,请参阅本文)。
于 2013-08-05T15:08:28.710 回答