Swift和Objective C:Project-Swift.h和Project-Bridging-Header.h冲突

时间:2015-01-02 19:03:15

标签: objective-c xcode swift

我有一个混合了Swift和Objective-C的项目。

我目前正试图在用Objective-C编写的视图控制器上调用Swift中的方法。

为了公开该方法,我将View Controller的标题添加到Bridging-Header.h文件中。

但是,View Controller引用了Project-Swift.h,它显然不存在'何时编译桥接头。如果我删除包含Project-Swift.h,项目编译,然而我无法从Objective-C端访问我需要的Swift功能。

确切的错误是:

"/Project/ViewController.h:10:9: error: 'Project-Swift.h' file not found
#import "Project-Swift.h"
        ^
<unknown>:0: error: failed to import bridging header '/Project/Project-Bridging-Header.h'

我似乎有鸡和蛋的问题。

关于如何解决这个问题的任何想法?我可以在不包含桥接头的情况下调用Objective-C方法吗?

1 个答案:

答案 0 :(得分:4)

我建议您在Project-Swift.h文件中包含.m文件,因此在ViewController.m中。如果您在标题中定义了所需的任何类,只需使用@class MyClassFromProjectSwift添加前向类声明。