我有这本词典
/etc/hosts
尝试使用
仅使用键或值来执行数组var codiceValutaDict: [String : Character] = ["us": "$", "it": "€", "fr": "€"]
我收到此错误:
'LazyForwardCollection,String>>'不能转换为'[String]'
我哪里错了?
答案 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)