在swift类中使用来自objective-c的枚举

时间:2015-02-02 15:46:52

标签: objective-c swift enums

我在objective-c

中有一个枚举
typedef enum {
status1,
status2,
} BattStatus;
@property (nonatomic) BattStatus batStatus;

要在swift中使用它,我正在做:

switch (MySingleton.sharedInstance().batStatus){
    case status1: break
    case status2: break
    default: break
} 

它给了我错误:BattStatus does not conforms to protocol 'IntervalType'。在线case status1: break

我无法编辑第一个目标-c Singleton类。现在就必须使用它。

1 个答案:

答案 0 :(得分:1)

如果使用enum宏,则目标-C enum声明仅作为Swift NS_ENUM导入。您需要使用任何value实例上的BattStatus属性来访问其值以进行比较。

您可以在此处阅读更多内容:C-Style "typedef enum" in Swift