导入Obj-C文件,该文件导入自动生成的Swift标头

本尼蒂

这是在桥接头文件中导入文件的部分重复,该文件导入Swift头文件,但我遇到与Rich相同的问题

但是在Swift中声明的枚举又如何呢?:(

我正在将Obj-C iPad应用程序移植到iPhone。但是我是一个Swift开发人员,他真的不希望重写现有功能。替换UI。

我为iPhone版本创建了一个新目标。在我的桥接标头中,我导入了一个使用的obj-c类#import "ProjectName-Swift.h"由于此文件是自动生成的,因此在构建此新目标时不存在该文件。链接的答案是添加@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 {
OOPer

@objc enumSwift中的int在ProjectName-Swift.h中作为C枚举公开。(使用宏SWIFT_ENUM。)

您可以将以下内容放入使用Swift枚举的Objective-C头文件中:

typedef enum SmileyFace: NSInteger SmileyFace;

(与使用宏生成的代码的第一部分相同SWIFT_ENUM。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章