【问题标题】:Why the type of "testScores["dave"]" is "Optional<Array<Int>>.Type" instead of "<Array<Int>>.Type"为什么 "testScores["dave"]" 的类型是 "Optional<Array<Int>>.Type" 而不是 "<Array<Int>>.Type"
【发布时间】:2016-05-23 02:05:45
【问题描述】:

我是 Swift 新手,正在尝试学习下标的概念。当我试图找出 testScores["dave"] 的返回值时,我期待的是 Array&lt;Int&gt;.Type,然而,IDE 却输出了 Optional&lt;Array&lt;Int&gt;&gt;.Type

为什么会这样?我错过了什么吗?

var testScores = ["dave": [82, 84, 86], "jen": [23, 14, 5], "ben": []]

testScores["dave"].dynamicType

【问题讨论】:

  • 字典值总是可选的。不保证会为任何键设置一个值

标签: swift subscript dynamictype


【解决方案1】:

任何时候你从Dictionary 得到一个值,它都是可选的。它可能有也可能没有指定键的条目。这就是为什么你必须在使用它之前打开可选的包装。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 2018-10-19
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多