无法将类型Dictionary的值分配给LazyMapCollection

时间:2019-11-20 08:21:09

标签: swift

我正在开发一个应用程序,而我对Swift还是比较陌生,在Swift中,我尝试使用下面的代码用answer变量的键初始化answerKeys,但是它显示错误。

  

无法将类型'Dictionary .Keys'的值分配为类型'LazyMapCollection ,IntPoint>'(又名'LazyMapSequence ,IntPoint>'))< / p>

我已经阅读了文档,但无法解决。

var answer:[IntPoint:String] = [:]
var answerKeys:LazyMapCollection<Dictionary<IntPoint,String>,IntPoint>

init() {
    answerKeys = answer.keys
}

1 个答案:

答案 0 :(得分:1)

在早期的Swift版本中,Dictionary.keys可能返回了LazyMapCollection。在Swift 5中,根据您的情况,从documentation可以看到Dictionary<Key, Value>.Keys

var answerKeys: Dictionary<IntPoint, String>.Keys

但是请注意,您始终可以在代码中访问answer.keys,而不必将其分配给单独的属性。