ios - 在objective-c中导入swift类,-Swift.h文件未找

我有一个用 Objective-C 编写的 iOS 项目。我在项目中创建了一个Swift类,在Swift中访问objective-c的桥接头文件生成成功,并且运行良好。

我的问题正好相反。我想在 Objective-C 代码中导入 Swift 类。

在 xcode 中,target -> Build Settings--> Swift Compiler 部分,我看到 Objective-C Generated Interface Header Name 字段的值为 myModule-Swift .h ,但是当我在 objective-c 类中导入此 header 时:

#import "myModule-Swift.h"

我得到编译器错误:

myModule-Swift.h file not found

在项目中,我也找不到这个文件。我该如何解决这个问题?

我的 xcode 版本是 6.4

最佳答案

2018 年 5 月更新 Xcode 9.3


  1. Build Settings->Objective-C Generated Interface Header Name
    并将值设置为YourModule-Swift.h(这个通常已经设置好了,这是你需要在.m上导入的文件名 文件 #import "YourModule-Swift.h"

(例如,名为CData的项目)

  1. 同第 1 步,进入 Build Settings 并搜索“Defines Module”,将两个值都设置为 YES

  2. .swift 文件上创建一个扩展 NSObject 的类

  1. 再次构建项目

  2. .m 文件中导入 YourModule-Swift.h 文件(请注意区分大小写,Mymodule !== 我的模块)

关于ios - 在objective-c中导入swift类,<myModule>-Swift.h文件未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32098696/

相关文章:

iphone - 从 float 或 double 实例化 NSDecimalNumber 的正确方

objective-c - Objective C 中的多个委托(delegate)

c - 在 Objective-C 类中混合 C 函数

iphone - animateWithDuration :animations: block ma

objective-c - 适合 UILabel 中的文本

objective-c - 如何从 C 方法调用 Objective-C 方法?

ios - 计算两个 CLLocationCoordinate2D 之间的方位

iphone - 如何以编程方式区分 iphone 4 和 iphone 4S?

iphone - 什么是-[NSString sizeWithFont :forWidth:line

iphone - 在 Objective-C 中随机化 NSArray 的规范方法