为什么“testScores [”dave“]”的类型是“Optional <array <int>&gt; .Type”而不是“<array <int>&gt; .Type”

时间:2016-02-12 02:37:25

标签: swift subscript dynamictype

我是Swift的新手,正在尝试学习下标的概念。当我试图找出testScores [“dave”]的返回值时,我期待Array<Int>.Type,但是IDE改为输出Optional<Array<Int>>.Type

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

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

testScores["dave"].dynamicType

1 个答案:

答案 0 :(得分:3)

只要您从Dictionary获得值,它就是可选的。它可能有也可能没有指定键的条目。这就是为什么你必须打开可选项才能使用它。