ios - 在 Objective-C 项目中找不到 Swift 类

标签 ios objective-c swift xcode objc-bridging-header

我正在处理一个使用 Objective-C 开发的 iOS 项目。我需要在其中集成一些 Swift 文件。所以,做了以下:

  1. 添加了一个名为“temp”的新 Swift 文件,以便我的 Xcode IDE(版本 9.1)添加 MyProject-Bridging-Header.h
  2. 将我要使用的 Swift 文件添加到项目中。
  3. 将目标设置 Defines Module 更改为 YES。
  4. 同样,“产品模块名称”设置为“MyProject”。
  5. 我可以看到 MyProject-swift.h 设置“Objective-C Generated Interface Header Name”的文件名。
  6. 在我的一个 Objective-C .m 文件中为 myProject-swift.h 添加了导入语句并且能够成功构建项目。
  7. 我在 Finder 中检查了 myProject-swift.h 已创建。
  8. 确保在 Swift 类声明中使用 @obj 前缀。

仍然,当我尝试使用任何 Swift 类时,我会收到编译时错误“未声明标识符的用户”。

问题的原因可能是什么?我错过了什么吗?

最佳答案

想通了...

我的 Objective-C 类中缺少 Swift 类的前向声明。我需要做的就是在 .h 文件中的接口(interface)声明之前添加以下语句。

@class MySwiftClassName;

一旦添加了语句,它就成功构建了。

关于ios - 在 Objective-C 项目中找不到 Swift 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48009259/

相关文章:

ios - 为什么我的 UIView 中没有显示任何内容?

ios - 当用户点击 iOS 中另一个应用程序上的链接时,如何启动我的应用程序?

ios - 隐藏 CollectionViewCell 而不更新数据源

ios - 希望将内容固定在视差标题下方的分段 Controller 上方

ios - 在 UIViewController 中填充 UITableView 并使用 UISegmentedControl 更改数据源

xcode - Realm 错误 : Migration

ios - Collection View 内的按钮不会在点击时突出显示

ios - 如何让动画在 SwiftUI 的 ScrollView 中工作? SwiftUI 中的 Accordion 风格动画

ios - 带有 UIDatePicker subview 的 UIActionSheet 有一个小的透视区域

ios - Xcode如何判断整个项目中是否有使用到当前开发目标不可用的API