Error: Unveränderlicher Wert, der an die Reduktionsfunktion übergeben wird
Ich versuche, den folgenden Code auszuführen, der ein Array von Tupeln in ein Wörterbuch umwandelt, erhalte jedoch den folgenden Kompilierungsfehler:
Immutable-Wert vom Typ '[String: String]' hat nur mutierende Member mit dem Namen 'updateValue'
var array = [("key0", "value0"), ("key1", "value1")]
var initial = [String: String]()
var final = array.reduce(initial) { (dictionary, tuple) in
dictionary.updateValue(tuple.0, forKey: tuple.1)
return dictionary
}
Warum ist das, wennInitial wurde als @ deklarie var? Hat es mit @ zu t@kein Entkomme auf Reduce's Unterschrift
func reduce<U>(initial: U, combine: @noescape (U, T) -> U) -> U