【发布时间】:2014-07-31 02:49:00
【问题描述】:
我正在尝试将我的一些 Obj-C 类转换为 Swift。其他一些 Obj-C 类仍在该转换后的类中使用枚举。我在 Pre-Release Docs 中搜索并找不到它,或者我错过了它。有没有办法在 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 Blog.在与 XCode 6.3 一起发布的 Swift 1.2 中,您可以通过在 enum 前面添加 @objc 在 Objective-C 中使用 Swift Enum
【问题讨论】:
-
实际上不需要更改现有代码。有关 Swift 和 Objective-C 之间的交互,请观看 WWDC 视频。
-
我只是想检查我的项目是否仍然有效,如果将来我的项目中会有一个 swift 类,但我不知道我应该添加什么类来测试它。所以,我改用旧的。无论如何,谢谢你的帮助。
标签: objective-c enums swift