将 modulename-Swift.h 文件导入 ObjC .h 文件
Importing modulename-Swift.h file to ObjC .h file
是否可以将 modulename-Swift.h
文件导入另一个 .h
文件,以便测试目标也可以编译?
目前,我正在将 modulename-Swift.h
导入应用程序目标 headers 之一,但是,测试目标无法编译。
当我将导入语句移至 .m
文件时,我能够同时编译应用程序和测试。
但是,我必须求助于前向协议声明才能解决此问题 - modulename-Swift.h
文件包含一个协议。
所以,问题是我是否可以在 .h
文件中导入该文件?
不,您不能在 .h 文件中导入 modulename-Swift.h。您需要创建前向声明(将 @protocol Something; 添加到您的 .h)并在 .m 文件中导入 Swift 模块。
解决此问题的另一种方法是在 .m 文件的类别中声明协议一致性。可以在这个 Whosebug 答案中找到更多详细信息:
是否可以将 modulename-Swift.h
文件导入另一个 .h
文件,以便测试目标也可以编译?
目前,我正在将 modulename-Swift.h
导入应用程序目标 headers 之一,但是,测试目标无法编译。
当我将导入语句移至 .m
文件时,我能够同时编译应用程序和测试。
但是,我必须求助于前向协议声明才能解决此问题 - modulename-Swift.h
文件包含一个协议。
所以,问题是我是否可以在 .h
文件中导入该文件?
不,您不能在 .h 文件中导入 modulename-Swift.h。您需要创建前向声明(将 @protocol Something; 添加到您的 .h)并在 .m 文件中导入 Swift 模块。
解决此问题的另一种方法是在 .m 文件的类别中声明协议一致性。可以在这个 Whosebug 答案中找到更多详细信息: