类型枚举不符合协议 'CollectionType'
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
属性 returns 一个惰性集合,可以在循环中使用。如果想要传统数组,请使用其 array
属性:
var audioCodecs = AudioCodecsType.names.values.array
旁注:您可以将 names
属性 重新定义为:
static let names = [
MPEG4AAC : MPEG4AAC.rawValue,
iLBC : iLBC.rawValue
]
不易出现打字错误:)
我创建了这样的枚举:
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
属性 returns 一个惰性集合,可以在循环中使用。如果想要传统数组,请使用其 array
属性:
var audioCodecs = AudioCodecsType.names.values.array
旁注:您可以将 names
属性 重新定义为:
static let names = [
MPEG4AAC : MPEG4AAC.rawValue,
iLBC : iLBC.rawValue
]
不易出现打字错误:)