【问题标题】:swift - create empty string : tuple dictionary using literalswift - 创建空字符串:使用文字的元组字典
【发布时间】:2014-09-14 21:59:31
【问题描述】:

谁能解释为什么第 1 行可以创建一个空的 swift 字典,但是当我尝试使用 int 键和双值元组创建一个 swift 字典时,第 2 行却不行......应该怎么做?

var testDic2 = [Int:Double]()

var testDic3 = [Int:(Double,Double)]()

我在游乐场尝试了各种组合,唯一没有给我编译器错误的版本如下

    var possibleTips = [Int(): (tipAmt:Double(), total:Double())]

但我不确定最后一种形式是否按照我的意图声明字典(即按照上面的 testDict3)

【问题讨论】:

  • 无法根据您所说的重现任何错误。在此基础上投票结束。

标签: dictionary swift tuples literals


【解决方案1】:

编译器不确定如何在第二个和第三个示例中实例化类型。相反,您可以声明类型并使用空字典初始值设定项:

var testDic:[Int:(Double,Double)] = [:]

【讨论】:

  • I had to use this kind of workaround 也可以获取嵌套类实例的数组。这也不适用于初始化程序语法。我可能会将其报告为编译器错误;我不明白为什么它不应该工作。
  • 不久前我看到了一个雷达,不知道它的状态是什么 - 但我看到它有时会发生,有时会起作用,所以我认为它确实是一个错误。此外,我不时在#swift-lang 看到有人遇到这个问题。此修复程序是我们提出的最短的修复程序,并且可以始终如一地工作。希望将来不再需要它。
猜你喜欢
  • 1970-01-01
  • 2021-12-01
  • 2016-06-07
  • 2020-03-17
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多