Рассмотрим код ниже:
let dict = [
"key1" : 1,
"key2" : 2,
"key3" : 3,
"key4" : 4,
"key5" : 5
]
let array = dict.map{$0}
for item in array {
print(item)
}
Что вы получаете из операторов печати:
("key2", 2)
("key3", 3)
("key4", 4)
("key5", 5)
("key1", 1)
Пары ключ/значение из словаря преобразуются в кортежи. Я ожидал получить массив словарей с одним значением.
Почему оператор map преобразует мои элементы в кортежи и где задокументировано это поведение?
Преобразовать массив кортежей обратно в массив словарей очень просто, используя этот код:
let array = dict.map{[$0.0:$0.1]}
... но я пытаюсь понять, почему карта вообще дает мне кортежи.
Dictionary
и выполнив поискiterator
в модуле. - person JAL   schedule 17.01.2017