ios - ¿La mejor forma de ordenar un NSArray de objetos NSDictionary?
objective-c sorting (6)
Actualización, sortUsingDescriptors ahora sortedArrayUsingDescriptors
Entonces, es como:
items = [items sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];
Estoy luchando con tratar de ordenar una variedad de diccionarios.
Mis diccionarios tienen un par de valores de interés, precio, popularidad, etc.
¿Alguna sugerencia?
Escriba una función de clasificación que compare los campos relevantes en dos diccionarios. Cuando tenga esta versión, puede, por ejemplo, usar NSArray#sortedArrayUsingFunction:context:
para ordenar su matriz.
Solo puede atravesar desde el elemento primario hasta la propiedad secundaria requerida. Por ej.
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"parent.child.child" ascending:YES];
Use NSSortDescriptor
esta manera ...
NSSortDescriptor * descriptor = [[NSSortDescriptor alloc] initWithKey:@"interest" ascending:YES];
stories = [stories sortedArrayUsingDescriptors:@[descriptor]];
recent = [stories copy];
stories
es la matriz que desea ordenar. recent
es otra matriz mutable que tiene valores de diccionario ordenados. Cambia el @"interest"
con el valor clave sobre el que debes ordenar.
Todo lo mejor
[array sortUsingDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"YOUR-KEY" ascending:YES], nil]];
Realmente no quiero dividirlo en múltiples líneas. Ya es lo suficientemente simple para mí.
array = [array sortedArrayUsingDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"YOUR-KEY" ascending:YES], nil]];
Recuerde asignar a la matriz