objective-c - 将 modulename-Swift.h 文件导入 ObjC .h 文件
问题描述
是否可以将modulename-Swift.h
文件导入另一个.h
文件,以便测试目标也可以编译?
目前,我正在将应用程序目标的标头之一导入modulename-Swift.h
,但是,测试目标无法编译。
当我将 import 语句移到.m
文件中时,我能够同时编译应用程序和测试。
但是,为了解决这个问题,我必须求助于前向协议声明 - 该modulename-Swift.h
文件包含一个协议。
所以,问题是我是否可以在文件中导入该文件.h
?
解决方案
不,您不能在 .h 文件中导入 modulename-Swift.h。您需要创建前向声明(将 @protocol Something; 添加到您的 .h 中)并在 .m 文件中导入 Swift 模块。
解决此问题的另一种方法是在 .m 文件的类别中声明协议一致性。可以在此 StackOverflow 答案中找到更多详细信息:
推荐阅读
- awk - 如何使用 sed/awk/bash/unix 工具将文件名和标题插入 csv 的开头?
- blockchain - 非容错区块链网络有什么好处
- javascript - 固定表头和左列 - 如何使表头始终位于顶部(z-index)
- javascript - jQuery DOMNodeInserted DOMNodeRemoved 不适用于每个元素
- c# - 在父项中设置绑定时,Xamarin.Forms 绑定到自定义控件不起作用
- java - 如何关闭java流序列中的类型提示
- apache-kafka - kafka 国营商店中的当前和最新状态是什么?
- excel - 如何在 VBA excel 中获取合并单元格的范围?
- python - 使用 Python 正则表达式从 .tex 文档中提取文本
- ionic4 - 尝试在android设备上运行时出现离子错误