我有一个混合了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方法吗?
答案 0 :(得分:4)
我建议您在Project-Swift.h
文件中包含.m
文件,因此在ViewController.m
中。如果您在标题中定义了所需的任何类,只需使用@class MyClassFromProjectSwift
添加前向类声明。