Это странное поведение сбивает меня с толку. Я намерен создать словарь с одним полем массива. Затем к этому массиву добавляются два дополнительных подсловаря. Вот код,
var dictionary = [String: Any]()
var array = [[String: Any]]()
dictionary["array"] = array
var dict1:[String:Any] = ["abc": 123, "def": true]
var dict2:[String:Any] = ["111": 1.2345, "222": "hello"]
array.append(dict1)
array.append(dict2)
Как видно из вывода отладчика, массив var успешно обновлен (с добавлением двух подсловарей). Но dictionary["array"]
по-прежнему имеет значение 0.
Похоже, что (dictionary["array"]
) и (array
) — это два отдельных объекта.