一尘不染

如何在Objective-C中使Swift String枚举可用?

swift

我有一个带有String值的枚举,它将用于告诉将消息记录到服务器的服务器类型的API方法。我正在使用Swift
1.2,因此可以将枚举映射到Objective-C

@objc enum LogSeverity : String {
    case Debug = "DEBUG"
    case Info = "INFO"
    case Warn = "WARN"
    case Error = "ERROR"
}

我得到错误

@objc枚举原始类型字符串不是整数类型

我没有设法找到任何地方说只有整数可以从Swift转换为Objective-C。是这样吗 如果是这样,是否有人对在Objective-
C中提供类似的最佳实践建议?


阅读 242

收藏
2020-07-07

共1个答案

一尘不染

Xcode
6.3发行说明
(添加了重点):

Swift语言增强


现在可以使用@objc属性将Swift枚举导出到Objective-C。@objc枚举 必须声明一个整数原始类型
,并且不能为泛型或使用关联值。因为没有为Objective-C枚举命名空间,所以枚举个案将作为枚举名称和个案名称的串联导入到Objective-C中。

2020-07-07