能够调用Objective-C++(.mm)文件中的Swift代码吗?如果不是,有没有简单的解决方法?在Objective-C++(.mm文件)中调用Swift
我有一个Xcode项目,它是Swift,Objective-C和C++的混合体。从Objective-C到Swift,使用-Bridging-Header.h
或从Swift到Objective-C,使用-Swift.h
我没有问题。
但是我确实有一个.mm文件,它是Objective-C++。当我尝试#import "[ProductName]-Swift.h"
它会抛出许多编译在-Swift.h
文件中的错误,如:
无法找到“NSApplicationDelegate”协议声明,你有没有 平均“NSConnectionDelegate”?
命名没有协议类型“NSTableViewDataSource”
等等
我已经看着如Can I mix Swift with C++? Like the Objective - C .mm files其他几个类似的问题,但似乎它并没有给我一个明确的答复或解决方案。
正如我所看到的,我目前的解决方法是在Objective-C中创建一个使用Swift代码的包装器对象,然后将其导入到Objective-C++代码中。
也许这个问题与'@ import'语句不能用于Objective-C++的事实有关? – user102008