我可以使用桥接头在基于 Swift 的项目中导入 Objective-C++ 类吗?
Posted
技术标签:
【中文标题】我可以使用桥接头在基于 Swift 的项目中导入 Objective-C++ 类吗?【英文标题】:Can I import Objective-C++ classes in a Swift based project using bridging header? 【发布时间】:2016-03-02 17:03:48 【问题描述】:我知道如果我想在 Swift 中使用 Objective-C 类,我必须使用桥接头。我知道我可以通过 .mm 扩展名在同一个文件中使用 Objective-C 和 C++。
现在我可以拥有一个使用 Objective-C++ 编写的类的文件并通过桥接头将其导入基于 Swift 的项目吗?
我知道 Stack Overflow 上有人问过类似的问题,但用户问他/她是否可以在同一个 FILE 中使用 Swift 和 C++,而不是通过桥接头进行项目。
【问题讨论】:
我现在发布答案。 看看这个问题***.com/questions/32541268/… 谢谢,这是我看过的问题,但没有注意到答案。谢谢 【参考方案1】:好吧,我现在觉得自己很愚蠢,但我应该尝试一下,而不是仅仅在 Stack Overflow 上询问并期待答案。并不是我懒惰,而是我已经习惯了在 Stack Overflow 上提问,以至于我的本能是一遇到问题就在 Stack 上提问,而不是先尝试自己找到解决方案。
答案:
是的,它有效!您可以通过桥接头在 Swift 中使用 Objective-C++ 类。现在我没有做任何复杂的事情,只是在 Objective-C++ 类中实现了一个方法,并将该文件包含在桥接头中,并在 ViewController.Swift 中调用该方法,它工作得非常好。我不知道所有 C++ 语法是否都可以与 Swift 类完美配合,但我保证它最应该。所以最终的答案是,是的,它有效!
【讨论】:
以上是关于我可以使用桥接头在基于 Swift 的项目中导入 Objective-C++ 类吗?的主要内容,如果未能解决你的问题,请参考以下文章
在“发布”构建配置中看不到在桥接头中导入的头,但在“调试”构建配置中可见