gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 06:23:54 24 4
gpt4 key购买 nike

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

我目前正在尝试在用 Objective-C 编写的 View Controller 上从 Swift 调用一个方法。

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

但是,View Controller 引用了 Project-Swift.h,它在编译桥接 header 时显然“不存在”。如果我删除 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'

我好像有先有鸡还是先有蛋的问题。

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

最佳答案

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

关于objective-c - Swift 和 Objective C : Project-Swift. h 和 Project-Bridging-Header.h 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27747194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com