我知道如何在Objective-C中使用 Swift代码 (通过在Objective-C代码中导入Swift生成的头文件),我知道如何使用目标-C Swift中的代码 (通过将其添加到Objective-C桥接头),但是对于相同的代码,是否真的不可能实现这种“反之亦然”?
解释
由于我开始在一个大型的Objective-C项目中混合Swift,我经常遇到同样的问题:
它始于Objective-C代码中的错误'ProjectName-Swift.h' file not found
(以前工作得很好)。
如果我从桥接头中删除此Objective-C文件,则此错误消失了,但现在我无法在Swift中使用此Objective-C代码。
结论:
因此,如果Objective-C文件已存在于桥接头中(即在Swift中使用),则看起来不可能在Objective-C中添加Swift代码(即导入生成的Swift头文件)。 这是真的吗?
对我来说,似乎我陷入某种“循环引用”问题,其中Swift代码试图“重新导入”Swift代码(如果桥接头包含已经导入Swift代码的Objective-C文件)
现在,我想我明白为什么会发生这种情况,但对我来说,这似乎是一个经常使用案例,试图将Swift合并到一个古老的Objective-C项目中,所以我想知道我是否遗漏了一些明显的东西,或者如果其他人有同样的问题,并且知道某种替代解决方案?