在字典上使用.values的奇怪错误

时间:2015-05-04 07:22:28

标签: arrays swift dictionary

我有这本词典

/etc/hosts

尝试使用

仅使用键或值来执行数组
var codiceValutaDict: [String : Character] = ["us": "$", "it": "€", "fr": "€"]

我收到此错误:

  

'LazyForwardCollection,String>>'不能转换为'[String]'

我哪里错了?

3 个答案:

答案 0 :(得分:6)

let codiceValutaDict: [String : Character] = ["us": "$", "it":"€", "fr":"€"]

let keysArray = codiceValutaDict.keys.array // ["us", "it", "fr"]

答案 1 :(得分:3)

从LazyForwardCollection创建数组

只需将集合传递给Array-Class的正确初始化程序

即可
var keys:[String] = Array(codiceValutaDict.keys)

答案 2 :(得分:0)

查看密钥类型here

var keys: LazyForwardCollection<MapCollectionView<[Key : Value], Key>> { get }

它不是字符串数组。 您必须使用数组构造函数来创建一个字符串数组:

var keysArray: [String] = [String](codiceValutaDict.keys)