是否可以在Obj-C中使用SWIFT的Enum?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

以前的Oobj-C代码:

typedef NS_ENUM(NSInteger, SomeEnum)
{
    SomeEnumA,
    SomeEnumB,
    SomeEnumC
};

@interface SomeClass : NSObject

...

@end

新SWIFT代码:

enum SomeEnum: NSInteger
{
    case A
    case B
    case C
};

class SomeClass: NSObject
{
    ...
}

提问于
用户回答回答于

从SWIFT版本1.2(Xcode 6.3)开始,可以。简单地在枚举声明前加上@objc

@objc enum Bear: Int {
    case Black, Grizzly, Polar
}
Bear type = BearBlack;
switch (type) {
    case BearBlack:
    case BearGrizzly:
    case BearPolar:
       [self runLikeHell];
}

扫码关注云+社区