Ошибка сегментации происходит, когда я обращаюсь к члену структуры

let dictionary = [
    "A" : [1, 2],
    "Z" : [3, 4],
    "D" : [5, 6]
]

let sortedKeys = Array(dictionary.keys).sorted(<) // ["A", "D", "Z"]

EDIT:

Сортированный массив из приведенного выше кода содержит только ключи, а значения должны быть получены из исходного словаря. Однако 'Dictionary' также является 'CollectionType' парами (ключ, значение), и мы можем использовать глобальную функцию 'sorted', чтобы получить отсортированный массив, содержащий оба ключа и значения, например:

let sortedKeysAndValues = sorted(dictionary) { $0.0 < $1.0 }
println(sortedKeysAndValues) // [(A, [1, 2]), (D, [5, 6]), (Z, [3, 4])]

EDIT2: в настоящее время предпочитает синтаксис Swift, изменяющийся ежемесячно,

let sortedKeys = Array(dictionary.keys).sort(<) // ["A", "D", "Z"]

Глобальный sorted устарел.

0
задан Louis Singer 15 January 2019 в 21:47
поделиться