我有一个带有String值的枚举,它将用于告诉将消息记录到服务器的服务器类型的API方法。我正在使用Swift 1.2,因此可以将枚举映射到Objective-C
String
@objc enum LogSeverity : String { case Debug = "DEBUG" case Info = "INFO" case Warn = "WARN" case Error = "ERROR" }
我得到错误
@objc枚举原始类型字符串不是整数类型
我没有设法找到任何地方说只有整数可以从Swift转换为Objective-C。是这样吗 如果是这样,是否有人对在Objective- C中提供类似的最佳实践建议?
从Xcode 6.3发行说明(添加了重点):
Swift语言增强 … 现在可以使用@objc属性将Swift枚举导出到Objective-C。@objc枚举 必须声明一个整数原始类型 ,并且不能为泛型或使用关联值。因为没有为Objective-C枚举命名空间,所以枚举个案将作为枚举名称和个案名称的串联导入到Objective-C中。
Swift语言增强
… 现在可以使用@objc属性将Swift枚举导出到Objective-C。@objc枚举 必须声明一个整数原始类型 ,并且不能为泛型或使用关联值。因为没有为Objective-C枚举命名空间,所以枚举个案将作为枚举名称和个案名称的串联导入到Objective-C中。