斯威夫特& Objective-C项目 - 生成-Swift.h错误 - 无法找到UIViewController的接口声明

时间:2015-03-26 18:16:13

标签: ios objective-c xcode swift language-interoperability

我有一个项目使用Swift生成的Bridging Header并正确设置项目(Names中没有空格,使用模块,在我的.mm文件中预先声明Swift类,删除派生数据,做一个干净的重建等...)。 Bridging Header生成正常,但自动生成的-Swift.h中有错误。更糟糕的是,这些错误发生在AppDelegate和ViewController的生成(在项目创建 - Swift)版本中,这些版本通常可以正常编译。 -Swift.h中的错误是:

  • @interface AppDelegate : UIResponder <UIApplicationDelegate>
    &GT;&GT;找不到UIResponder&#39;,超类的接口声明 &#39; AppDelegate&#39;
    &GT;&GT;无法找到&#39; UIApplicationDelegate&#39;
  • 的协议声明
  • @interface ViewController : UIViewController
    &GT;&GT;找不到UIViewController&#39;,超类的接口声明 &#39; ViewController&#39;

我已经搜索了Stack Overflow和网络,无法找到解决此特定问题的任何答案。还有其他人有这个吗?或者,有没有办法可以标记我的AppDelegate和ViewController类,因此Xcode 不会尝试为那些Swift类创建Objective-C存根,因为我实际上并不需要它们?

3 个答案:

答案 0 :(得分:9)

添加

#import <UIKit/UIKit.h>

#import <YourProject-Swift.h>
<。>在.mm文件中。对我来说它有所帮助。

答案 1 :(得分:7)

我有同样的问题并发现了......

-Swift.h最适合使用Objective-C,而不是Objective-C ++(。mm)

所以我使用Objective-C类连接Swift类。您也可以随时在Objective-C类中加载Objective-C ++类。

答案 2 :(得分:1)

尝试将UIKit / UIKit.h导入桥接头文件。