在 Objective C 代码中使用 Swift 类 继承自 Objective C 库代码
Using Swift classes inherited from Objective C libraries code in Objective C code
我正在开发一个 Swift 项目,使用了几个 ObjC 库。
其中之一是 SWTableViewCell。我的应用程序的列表单元格继承自 SWTableViewCell
,UITableViewCell
的子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
这应该可以解决您的问题:
- 在您的项目中创建桥接 header 文件:文件 > 新建 > 文件 > (iOS 或 OS X) > 源 > Header 文件
- 在您的 Objective-C 桥接 header 文件中,导入您想要公开给 Swift 的所需 Objective-C header:在您的情况下,您需要
#import "SWTableViewCell.h"
我正在开发一个 Swift 项目,使用了几个 ObjC 库。
其中之一是 SWTableViewCell。我的应用程序的列表单元格继承自 SWTableViewCell
,UITableViewCell
的子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 文件:文件 > 新建 > 文件 > (iOS 或 OS X) > 源 > Header 文件
- 在您的 Objective-C 桥接 header 文件中,导入您想要公开给 Swift 的所需 Objective-C header:在您的情况下,您需要
#import "SWTableViewCell.h"