Как я могу легко добавлять элементы в массив внутри словаря?
Он всегда жалуется на could not find member 'append'
или could not find an overload for '+='
var dict = Dictionary<String, Array<Int>>()
dict["key"] = [1, 2, 3]
// all of these fail
dict["key"] += 4
dict["key"].append(4) // xcode suggests dict["key"].?.append(4) which also fails
dict["key"]!.append(4)
dict["key"]?.append(4)
// however, I can do this:
var arr = dict["key"]!
arr.append(4) // this alone doesn't affect dict because it a value type (and was copied)
dict["key"] = arr
Если я просто назначу массив var, измените его, а затем переназначить его в dict, не буду ли я копировать все? это не было бы эффективным и элегантным.