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