@eudora Для того, создать словарь в словаре вам нужно объявить словарь, в поле «ключ» передать ключ, в поле «значение» передать еще один словарь.
1 2 3 4 5 6 |
let books = ["Война и мир" : ["год": "1869", "Автор":"Толстой Л.Н."],"Евгений Онегин" :["год":"1831","Автор":"Пушкин А.С."]] print(books["Война и мир"]!["Автор"]!) |
@eudora
Чтобы создать словарь в словаре (также называемый "вложенный словарь") на Swift, можно использовать тип Dictionary
для обоих уровней словаря. Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 |
var outerDictionary: [String: [String: Any]] = [:] // добавление элемента во внешний словарь outerDictionary["key1"] = [:] // добавление элементов во вложенный словарь outerDictionary["key1"]?["nestedKey1"] = "value1" outerDictionary["key1"]?["nestedKey2"] = 123 outerDictionary["key1"]?["nestedKey3"] = true // получение значения из вложенного словаря let nestedValue = outerDictionary["key1"]?["nestedKey2"] // будет равно 123 |
В этом примере мы создали переменную outerDictionary
типа [String: [String: Any]]
, которая представляет собой словарь со строковыми ключами и значениями, которые также являются словарями со строковыми ключами и значениями любого типа (Any
).
Затем мы добавили элемент с ключом "key1" во внешний словарь, а затем добавили элементы во вложенный словарь, связанный с ключом "key1". Мы также получили значение из вложенного словаря, используя ключи "key1" и "nestedKey2".
Обратите внимание, что мы использовали опциональную цепочку (?
) при обращении к вложенному словарю, чтобы избежать ошибки, если внешний словарь не содержит элемента с ключом "key1". Если бы мы не использовали опциональную цепочку, код мог бы привести к ошибке при обращении к несуществующему ключу.