0

我有一个 Swift 项目,我成功地将一些 Objective C 类文件(比如说 ObjectiveClass.h)添加到这个 Swift 项目中,并且能够在项目中使用它,使用桥接头。现在在 ObjectiveClass.h 类中,我想导入 Swift 项目的 Swift 类。我怎样才能做到这一点?

我已经搜索了很多,但还没有找到任何答案。大多数回答的问题是关于如何将 Objective-C 类导入到 Swift 项目中,或者将 Swift 类导入到 Objective-C 项目中。但我的情况不同

4

2 回答 2

0

直接来自appledoc

当你将 Swift 代码导入到 Objective-C 中时,你依赖于 Xcode 生成的头文件将这些文件公开给 Objective-C。这个自动生成的文件是一个 Objective-C 头文件,它在你的目标中声明了 Swift 接口。它可以被认为是 Swift 代码的总括标题。此标头的名称是您的产品模块名称,后跟“-Swift.h”。

大多数人不明白的是,xyz-Swift.h头文件将由 xcode 生成,您只需要相信这一点。起初我在搜索整个项目的源文件夹,这个文件在哪里,找不到。你只需要导入它,瞧。有时您会收到错误消息,例如xyz-Swift.h未找到,清理您的项目,它会顺利运行。

于 2016-11-14T13:32:20.790 回答
0

很简单。只需@objc public在 swift 类之前声明。像这样

@objc public class YourSwiftClass : NSObject {

}

现在在目标 c 类中使用#import "YourProjectName-Swift.h". 您将收到未找到提到的文件的错误。不用担心,只需运行该项目一次。当您在运行时单击该文件时,您将看到 "YourProjectName-Swift.h" 的内容。现在您可以访问 swift 类的任何方法。

于 2016-11-14T13:36:53.890 回答