我正在尝试将我的一些Obj-C类转换为Swift。而一些其他的Obj-C类仍在使用转换后类中的枚举类型。我搜索过预发布文档,但没有找到相关信息,或者可能是我错过了。是否有办法在Obj-C类中使用Swift枚举类型?或者有关这个问题的文档链接?
这是我在旧的Obj-C代码和新的Swift代码中声明枚举类型的方式:
我的旧Obj-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 之前的旧版本中无法完成此操作。但是根据这篇官方Swift博客。在与XCode 6.3一起发布的Swift 1.2中,您可以通过在enum
前面添加@objc
来在Objective-C中使用Swift Enum。