Come ordinare un dizionario di [int: String] in Swift 5

2020-02-15 ios swift xcode

Ho un array che ha numeri interi come chiavi e stringhe per i valori

var dictionary = [Int: String]()

Tutti questi tentativi terminano con errori di compilazione per Swift 5:

dictionary = dictionary.keys.sorted()

dictionary = (dictionary.sorted{ $0.key < $1.key })

dictionary = dictionary.sorted { $0.0 < $1.0 } .map { $0.1 }

reverseSortedValues = dictionary.sorted { $0.0 > $1.0 } .map { $0.1 }

dictionary = profileImagesDictionary.sorted(by: { $0.0.compare($1.0) == .OrderedAscending })

dictionary = profileImagesDictionary.sorted { $0.key

Codice:

profileImagesDictionary = [Int : String](uniqueKeysWithValues: profileImagesDictionary.sorted{ $0.key > $1.key})

Tasti di stampa output console

before: dictionary = [3, 1, 2, 4, 0]

after: dictionary = [3, 0, 2, 1, 4]

Ne ho bisogno per riorganizzare il dizionario / effettivamente ordinarlo per chiavi.

Quindi come invece di:

dictionary = [1: "a", 3: "c", 2: "b"]

Dopo essere stato ordinato sarebbe:

dictionary = [1: "a", 2: "b", 3: "c"]

Answers

Basta dare il seguente codice per stampare le chiavi ordinate.

print(dictionary.keys.sorted)

Qui hai un dizionario non un array, per ordinare il tuo dizionario in base alle tue chiavi puoi usare let sortedKeys = Array(dictionary.keys).sort(<) , ma contiene solo chiavi nell'array

Related