3

当我想在目标 c 项目中使用 swift 文件并从 swift 类中声明一个对象时,我收到“使用未声明的标识符”错误。我通过的方式:

  1. 在项目中处理 swift 文件并在声明 swift 类之前键入@objc

  2. 手动在项目中创建头文件

  3. 将目标中的“定义模块”设置为

  4. 目标的 Objective-C 桥接头设置为$(SRCROOT)/$(PRODUCT_MODULE_NAME)-Bridging-Header.h

  5. 在objective-c文件中声明#import“productModuleName-Bridging-Header.h”

  6. 使用name_of_swift_class *s = [[name_of_swift_class alloc] init];

当我想在第 6 步中使用 swift 文件时,我收到“使用未声明的标识符”错误。为什么?!!!我有错吗?

当我在新项目中测试此步骤时,我没有收到错误,但在我希望它返回错误的项目中。

谢谢您的帮助

4

1 回答 1

2

问题出在第 5 步您不应该导入“productModuleName-Bridging-Header.h”,而应该导入“productModuleName-Swift.h”

PS- 进行此更改后清理您的项目,清除您的派生数据并构建它。它会起作用的。希望能帮助到你 :)

于 2018-02-10T13:42:28.150 回答