Actuellement, j'ai un dictionnaire imbriqué déclaré comme i reçoit des résultats comme: p> Je veux trier ce résultat si que les résultats seraient en ordre par la première clé. P> SO: P> ["0": ["time": "6:16 PM", "date": "1/15", "name": "Bob"],
"1": ["time": "1:15PM", "date": "1/15", "name": "John"],
"2": ["time": "tbd", "date": "1/15", "name": "Chris"]]
3 Réponses :
mais, dans votre cas, je me débarrasserais du dictionnaire et je n'aurais que contenir votre modèle. p> créer personnalisé Dictionnaire code> est non-commandé, vous ne pouvez pas le trier.
struct code> qui représenterait votre événement, puis vous pouvez trier votre tableau par la propriété
ID P> P>
struct Event {
let time, date, name: String
let id: Int
}
var userSchedule = ["2": ["time": "tbd", "date": "1/15", "name": "Chris"],
"0": ["time": "6:16 PM", "date": "1/15", "name": "Bob"],
"1": ["time": "1:15PM", "date": "1/15", "name": "John"]]
var schedule = userSchedule.compactMap { (event) -> Event? in
guard let time = event.value["time"], let date = event.value["date"], let name = event.value["name"], let id = Int(event.key) else { return nil }
return Event(time: time, date: date, name: name, id: id)
}
schedule.sort { $0.id < $1.id }
Créer une structure pour contenir les valeurs et mapper votre dictionnaire vers un tableau de cette structure
Vous pouvez le faire de cette façon: Triez-la d'abord à un tableau, puis construisez un tableau avec des éléments de dictionnaire. C'est simple car il n'a que deux codes de lignes.
Dictionnaire code> est non ordonné, vous ne pouvez pas le trier. Quoi qu'il en soit, vous pouvez créer
tableau code> de celui-ci
Les dictionnaires sont une collection non ordonnée, vous ne pouvez donc pas le trier. Vous devez utiliser une autre collection et implémenter la logique pour convertir ce dictionnaire et le trier. Indice: tableau de dictionnaire où chaque index représente la valeur numérique de sa clé de dictionnaire correspondante.
Je suggérerais que vous créez des structs plutôt que d'utiliser des dictionnaires. Vous pouvez ensuite avoir un tableau de structures et trier que
Dupliquer possible de Comment trier le dictionnaire par les clés où les valeurs sont des objets d'objets à Swift 4?
Dupliqué possible de trier dictionnaire par clés