[英]Type enum does not conform to protocol 'CollectionType'
我创建了这样的枚举:
enum AudioCodecsType: String {
case MPEG4AAC = "MPEG-4 Audio", iLBC = "iLBC"
static let names = [
MPEG4AAC : "MPEG 4 Audio", iLBC : "iLBC"]
}
稍后,我想从其names
字典中获取值:
var audioCodecs = AudioCodecsType.names.values as [String]
但出现编译器错误: Type 'AudioCodecsType.Type' does not conform to protocol 'CollectionType'
如何从该词典中提取值?
字典的values
属性返回一个惰性集合,该集合可以在循环中使用。 如果要使用传统数组,请使用其array
属性:
var audioCodecs = AudioCodecsType.names.values.array
旁注:您可以将您的names
属性重新定义为:
static let names = [
MPEG4AAC : MPEG4AAC.rawValue,
iLBC : iLBC.rawValue
]
不太容易出现输入错误:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.