我有一个用Obj-C编写的iOS应用程序,它也定义了单元测试。现在,我正在添加一个新功能,我在Obj-C类(O)中使用swift类(S)。我有主要目标和测试目标的桥接头。直到这一点,一切都运作良好。
这是问题所在, 如果我想在swift中为类O创建一个单元测试类(U)并运行它,我会遇到一个问题,即没有找到桥接头。我假设这是因为O使用S并且这些细节在桥接头文件中,然后我再次尝试在U中使用S和O导致失败。如果我添加任何其他不使用S的Obj-C类,它的工作完全正常。
这是我已经做过的事情,确保你知道发生了什么, 我在O.h中有一个S类的前向声明,因为我知道O.h文件不支持保存-Swift.h import语句,因此它在O.m文件中。
是否支持此方案?
Class O uses Class S.
Class U can test class O by using class S.
Note: O->Objective-C
S->Swift Class
U->Unit test class in swift.
答案 0 :(得分:0)
答案很简单,但不是很明显。我必须按使用顺序将import语句放在桥接头文件中。例如:如果一个类依赖于另一个类,那么首先放置依赖项的import语句然后将桥接标题中的调用类'文件放在
中是很重要的。