Trier NSArray de NSDictionary objets en Swift
J'ai récupéré quelques données JSON à partir d'une API et d'avoir maintenant un NSArray plein de NSDictionary objets. Chaque NSDictionary a une paire clé/valeur de "nom" et je veux le NSArray par cette paire clé/valeur.
J'ai fait un peu de recherche, mais aucune des solutions que j'ai pu voir semblent travailler dans la nouvelle Swift langue et je ne suis pas sûr si c'est un bug ou pas...
J'ai essayé:
var descriptor: NSSortDescriptor = NSSortDescriptor(key: "name", ascending: true)
var sortedResults: NSArray = results.sortedArrayUsingDescriptors(NSSortDescriptor(key: "name", ascending: true))
Mais qui ne compile pas, précisant que "NSSortDescriptor n'est pas convertible à [AnyObject]".
Des conseils?
Lisez ce que le message d'erreur indique: il attend un tableau...
OriginalL'auteur jopeek | 2014-07-10
Vous devez vous connecter pour publier un commentaire.
vous devez passer un tableau de tri des descripteurs (même si c'est seulement un):
Super! le seul exemple de travail après avoir cherché pendant 2 jours! Merci beaucoup.
Si vous avez cet Objectif-C -> NSArray *array = [[dictionnaire allKeys] sortedArrayUsingSelector:@selector(comparer:)]; tout le monde le sait, l'alternative à Swift?
OriginalL'auteur kambala
Plutôt que de prendre le vieux chemin, pourquoi ne pas adopter la nouvelle? La swift de type Tableau a deux
sort
etsorted
méthodes. Vous pouvez fournir une fermeture de la fonction de tri:var sortedResults= results.sorted { $0["name"]! > $1["name"]! }
Il peut, certes, mais je devine que l'OP est un peu de la nouvelle Swift, j'ai donc opté pour une plus détaillé de la fermeture de la syntaxe!
Je suis en effet le nouveau Swift et je l'ai fait essayer cette plus tôt, mais ne pouvais pas le faire fonctionner. Je crois que je vois ce que j'ai raté bien et donnera à votre réponse un coup de feu plus tard. Merci!!!!
Je suis sûr que cela aurait fonctionné, mais j'ai eu toutes sortes de problèmes de transition de NSArray à la Matrice... Kambala la réponse ci-dessous fonctionné bien afin que je puisse continuer à utiliser le NSArray.
Comment voulez-vous faire de même avec plusieurs sorte de descripteurs?
OriginalL'auteur ColinE
OriginalL'auteur Ankit Goyal