0
我想将数组数值数据与列标签关联起来,所以我想用一个将字符串映射到浮点数组的字典进行建模。我试图通过用空数组初始化键值来填充字典,但我一直在获取可选数组。下面是一个例子,在Swift中使用非可选的空数组初始化字典
var labels = [ "pine", "elm", "palm" ]
var dframe = [String:[Float]]()
for label in labels {
dframe[label] = [Float]()
}
print(dframe.dynamicType) // --> Dictionary<String, Array<Float>>
print(dframe["pine"].dynamicType) // --> Optional<Array<Float>>
我感到困惑为什么在for循环的初始化[Float]()
产生一个可选的阵列。如果我在for循环中说[Float]()!
,那么我得到一个错误,说我“无法强制展开非可选类型的值[Float]'”。有任何想法吗?我只想要一个简单的,非可选的字符串映射到浮点数组。我正在使用XCode 7.1.1和Swift 2.1。谢谢!
现在有道理,谢谢!我知道这种行为必须有合理的解释。 – cjohnson318