2010-04-23 13 views
5

O tiene un NSDictionary. Dentro del diccionario hay una matriz. Quiero ordenar el diccionario y mostrar su valor en orden ascendente, así que, por favor, ayúdenme, ¿cómo puedo obtener los datos ordenados?¿Cómo puedo ordenar un NSDictionary?

Respuesta

4

Hay tres funciones de NSDictionary ...

– keysSortedByValueUsingSelector: 
– keysSortedByValueUsingComparator: 
– keysSortedByValueWithOptions:usingComparator: 
+0

si no te importa por favor, dígame con el ejemplo que quiero ordenador por "rname" .please me ayuda .. NSDictionary * dict = (NSDictionary *) [DatabaseAccess getRestaurantDetails]; \t \t NSLog (@ "% @", dict); 2010-04-23 11: 45: 07,089 restaurante [2074: 207] ( { raddress = "Cascal, Mountain View, CA"; Rdistancia = "7.96 millas"; rlatitude = "37.391167"; rlongitude = "-122,080974"; rname = Cascal; rphno = 6509409500; } ) –

+1

esto es sólo un valor de diccionario quiero ordenar por nombre de todos los valores y tengo que mostrar así que ¿cómo puedo usar esta función. –

+0

¿Quiere decir que tiene más de un diccionario y no lo va a ordenar ...? ¿Quieres ordenar diccionarios o datos dentro de diccionarios ...? –

0

Uso NSSortDescriptor como esto ..

NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; 
[stories sortUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]]; 
recent = [stories copy]; 

historias es la matriz que desea ordenar .recent es otra matriz mutable que se ha clasificado valores del diccionario. Cambie el "nombre" por el valor clave en el que debe ordenar.

Todo lo mejor

Cuestiones relacionadas