将 .swift 文件导入 Objective-C 文件会导致方法声明错误的上下文丢失

Importing .swift file into Objective-C file results in Missing Context For Method Declaration Error

我正在重构一些 Objective-C ViewController 并尝试将新的 Controller.swift 文件导入 ViewController.m。但是,当我这样做并且 运行 我在 ViewController.m 文件中的每个方法都得到 "Missing Context For Method Declaration" 错误。

这会导致错误:

#import "ViewController.h"
#import "ContactsController.swift"

当我 运行 没有 .swift 文件导入时一切正常。另外,我已经以上述方式将此 .swift 文件成功导入到其他控制器中。

然而,当我改变导入的顺序时,它起作用了:

#import "ContactsController.swift"
#import "ViewController.h"

我曾尝试对此进行研究,但无济于事。导入可以在一个订单而不是另一个订单上工作的可能原因是什么?

编辑: 切换顺序不起作用,它清除 ViewController.m 上的错误但在 swift 文件上抛出错误。

啊啊..今天真是太糟糕了。刚刚意识到我的错误。我试图直接导入 swift 控制器而不是 Project-Swift.h 文件,这是访问 objective-c;[=11= 中任何 swift 文件的正确方法]

解决添加到你的ViewController.m文件:

#import "<Project Name>-Swift.h"