XCode 8 上的 Swift 3 操场"对成员'joined()'错误的不明确引用



我有字典:

let alphabet: [Character: Int] = ["a": 0, "b": 1, "c": 2, "d": 3]
let validSet = CharacterSet.init(charactersIn: alphabet.keys.joined())

这就是我收到错误的时候。我该如何解决这个问题,为什么会发生这种情况?有什么想法吗?

如果您不想按照已经建议的那样将密钥类型更改为字符串,请将字符更改为字符串map

let alphabet: [Character: Int] = ["a": 0, "b": 1, "c": 2, "d": 3]
let validSet = CharacterSet(charactersIn: alphabet.keys.map{String($0)}.joined())

您唯一应该更改以使其正常工作的是键的类型,从CharacterString

let alphabet: [String: Int] = ["a": 0, "b": 1, "c": 2, "d": 3]
let validSet = CharacterSet.init(charactersIn: alphabet.keys.joined())

最新更新