这是Import a file in bridging-header which imports Swift header的部分副本,但我遇到与Rich相同的问题
但是在Swift中声明的枚举呢? :(
我正在将一个Obj-C iPad应用程序移植到iPhone上。但是我是一个Swift开发人员,他真的不会重写现有的功能;取而代之的是。
我为iPhone版创建了一个新目标。在我的桥接标题中,我导入了一个使用#import "ProjectName-Swift.h"
的obj-c类。由于此文件是自动生成的,因此在构建此新目标时不存在。 linked答案是添加@class
,但遗留代码使用枚举,现在提供错误“预期类型”。
// File that I am currently importing
-(void)setSmileyType:(SmileyFace)type andDelegate:(id<NumberRatingDelegate>)delegate;
// This line now throws an error "Expected a type"
//File that was previously auto imported
@objc public enum SmileyFace: Int {
答案 0 :(得分:1)
@objc enum
在ProjectName-Swift.h中作为C-enum公开。
(使用宏SWIFT_ENUM
。)
您可以将这样的内容放入使用Swift枚举的Objective-C头文件中:
typedef enum SmileyFace: NSInteger SmileyFace;
(与使用宏SWIFT_ENUM
生成的代码的第一部分相同。)