¿La mejor forma de ordenar un NSArray de objetos NSDictionary?

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?

 [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í.

Solo puede atravesar desde el elemento primario hasta la propiedad secundaria requerida. Por ej.

 NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"parent.child.child" ascending:YES]; 

Actualización, sortUsingDescriptors ahora sortedArrayUsingDescriptors

Entonces, es como:

 items = [items sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]]; 

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.

Ver referencia de clase NSArray

 array = [array sortedArrayUsingDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"YOUR-KEY" ascending:YES], nil]]; 

Recuerde asignar a la matriz