2017-08-07 55 views
1

这是Import a file in bridging-header which imports Swift header部分重复,但我遇到同样的问题,因为Rich其中进口自动生成斯威夫特头

但对于斯威夫特宣布枚举进口对象 - 文件? :(

我移植的对象 - iPad应用程序的iPhone可是我是一个斯威夫特开发谁真的不想重写现有的功能;更换UI,而不是

我创建了一个新的目标在我的桥接头文件中,我导入了一个使用#import "ProjectName-Swift.h"的obj-c类,因为这个文件是自动生成的,所以在我构建这个新目标时它不存在,linked的答案是添加一个@class,但是遗留代码使得使用现在给出错误“Expected a type”的枚举。

// 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 { 

回答

1

@objc enum在Swift中暴露为ProjectName-Swift.h中的C-enum。 (使用宏SWIFT_ENUM。)

你可以把这样的事情在其中使用的是斯威夫特枚举您的Objective-C头文件:

typedef enum SmileyFace: NSInteger SmileyFace; 

(与生成的代码与第一部分宏SWIFT_ENUM。)

+0

谢谢。我的项目仍然在运行时崩溃,但我目前正在假设它是不相关的。我会接受如果我可以开始我的项目,或者如果我明确地发现此答案已完成。 – bennyty