将modulename-Swift.h文件导入到ObjC .h文件

时间:2019-03-27 14:09:23

标签: objective-c swift xcode bridging-header objc-bridging-header

是否可以将modulename-Swift.h文件导入另一个.h文件,以便测试目标也可以编译?

当前,我正在将modulename-Swift.h导入到应用程序目标的标头之一中,但是测试目标无法编译。

当我将import语句移至.m文件时,我能够同时编译应用程序和测试。

但是,为了解决此问题,我不得不求助于前向协议声明-modulename-Swift.h文件包含一个协议。

因此,问题是我是否可以完全将文件导入.h文件中?

1 个答案:

答案 0 :(得分:1)

否,您不能在.h文件中导入modulename-Swift.h。您需要创建前向声明(将@protocol Something;添加到您的.h中),然后将Swift模块导入.m文件中。

解决此问题的另一种方法是在.m文件中的类别中声明协议一致性。可以在以下StackOverflow答案中找到更多详细信息:

https://stackoverflow.com/a/27626493/3208043