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

标签 objective-c swift enums

我在 objective-c 中有一个枚举

typedef enum {
status1,
status2,
} BattStatus;
@property (nonatomic) BattStatus batStatus;

为了快速使用它,我正在做:

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

它给我错误:BattStatus 不符合协议(protocol)“IntervalType”。在线 case status1: break

我还不能编辑第一个 objective-c Singleton 类。只需暂时使用它。

最佳答案

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

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

关于objective-c - 在 swift 类中使用来自 objective-c 的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28281428/

相关文章:

ios - 使用 Objective C 套接字发送 MDNS 请求

java - 什么时候在 java 中使用 Enum 类?

设置为属性时,Swift 枚举会丢失初始化值吗?

swift - WatchKit界面图片显示错误图片

c# - 为什么在使用枚举代替其基础类型时必须使用显式强制转换?

c# - 如何在 C# 中优化枚举赋值

iphone - 点击/单击查看操作 Xcode

ios - 了解 NSNetservice 的 “includesPeerToPeer” 属性

ios - 使用 Flurry Analytics 跟踪页面/屏幕浏览量

swift - 每行安装 2 个 Collection View 单元格(在所有设备上都相同)