我正在将Swift代码集成到一个大型的Objective-C项目中,但是当我的Swift代码引用Objective-C类时,我遇到了问题。例如,假设我有:
MyTableViewController
DeletionWorkflow
我声明了一个Swift类,如下所示:
class DeletionVC: MyTableViewController { let deleteWorkflow: DeletionWorkflow ... }
如果现在尝试通过导入ProjectName-Swift.hObjective- C代码来使用此类,则对于MyTableViewController和都会出现未定义的符号错误DeletionWorkflow。
ProjectName-Swift.h
我可以通过导入DeletionWorkflow.h以及MyTableViewController.h在导入之前解决该单个源文件中的问题,ProjectName- Swift.h但这并不能扩展到我希望我的Swift和Objective-C经常交互的大型项目中。
DeletionWorkflow.h
MyTableViewController.h
ProjectName- Swift.h
ProjectName-Swift.h当我尝试在我的应用程序中使用Objective- C代码中的Swift类时,是否有办法添加前向类引用,以免发生这些错误?
这有点愚蠢,但听起来至少是目前苹果打算的“解决方法”。从互操作性指南中:
如果您在Swift代码中使用自己的Objective- C类型,请确保在将Swift生成的标头导入.m您要从中访问Swift代码的Objective-C 文件之前,先导入这些类型的Objective- C标头。
.m
在这个devforums主题中,有人提到他们已经在Radar中提交了一个错误。您可能也应该这样做。