ios - 将 .swift 文件导入 Objective-C 文件会导致方法声明错误缺少上下文

标签 ios objective-c iphone swift

我正在重构一些 Objective-C ViewController 并尝试将新的 Controller.swift 文件导入 ViewController.m。但是,当我这样做并运行时,ViewController.m 文件中的每个方法都会出现“方法声明缺少上下文”错误。

这会导致错误:

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

当我在没有导入 .swift 文件的情况下运行时,一切正常。另外,我已经以上述方式成功地将这个 .swift 文件导入到其他 Controller 中。

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

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

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

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

最佳答案

啊..这是漫长的一天。刚刚意识到我的错误。我试图直接导入 swift Controller 而不是 Project-Swift.h 文件,这是访问 Objective-C 中任何 swift 文件的正确方法;

在你的 ViewController.m 文件中添加:

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

关于ios - 将 .swift 文件导入 Objective-C 文件会导致方法声明错误缺少上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28245372/

相关文章:

ios - 如何在swift中将json字符串作为参数传递

objective-c - 为什么不需要取消引用 NSString 指针?

objective-c - WMV 转换器失败 FFMpeg

iphone - 当你使用Xcode制作iPhone应用程序时,如何更改应用程序的图标?

ios - 如何通过与其关联的目标名称或 bundle 标识符查找配置文件的名称?

ios - 此代码是否存在内存问题?

ios - 如何向导航项添加按钮?

iphone - 防止游戏套件多次授予成就

iphone - 如何解决此 iCloud 错误?

ios - removeFromSuperview UIImageView 不工作