在 Objective C 代码中使用 Swift 类 继承自 Objective C 库代码

Using Swift classes inherited from Objective C libraries code in Objective C code

我正在开发一个 Swift 项目,使用了几个 ObjC 库。 其中之一是 SWTableViewCell。我的应用程序的列表单元格继承自 SWTableViewCellUITableViewCell 的子class,可在单元格上添加滑动操作。

库中添加了 cocoapods。

我想在我的主项目中将一些 Swift 代码导入 ObjC。 project-Swift.h 正在按应有的方式生成(每个 Swift class 从 NSObject 继承,被注释为 @objc 被包括在内),但它包含错误:

project-Swift.h:135:31: Cannot find interface declaration for 'SWTableViewCell', superclass of 'MySWTableViewCell'; did you mean 'UITableViewCell'?

如何补救这种情况? 我需要正确生成 header 才能在 ObjC 中使用 Swift classes 我的目标是要么忽略这些 classes,要么让 XCode 它需要在 project-Swift.h

期间导入额外的 header

这应该可以解决您的问题:

  1. 在您的项目中创建桥接 header 文件:文件 > 新建 > 文件 > (iOS 或 OS X) > 源 > Header 文件
  2. 在您的 Objective-C 桥接 header 文件中,导入您想要公开给 Swift 的所需 Objective-C header:在您的情况下,您需要#import "SWTableViewCell.h"