2013-03-23 7 views
6

problema di fronte per ordinare i valori in base alla chiave utilizzando l'oggetto dizionario. In realtà ciò che sto memorizzando è, ogni oggetto dizionario che ha diversi tipi di dati in quel dizionario tutti i tipi di dati che prendono come stringa come convertire questo tipo di stringa in un tipo specifico di dati e ordinare il prezzo, il mio codice e l'out put è muggito, Please aiutami su questo.IOS deve ordinare una matrice di valori di dizionari in base al prezzo chiave

-(IBAction)PriceSort:(id)sender 
{ 
    NSSortDescriptor * sort = [[NSSortDescriptor alloc] initWithKey:@"Price" ascending:true] ; 
    NSArray *sa = [symbolArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sort]]; 
    NSLog(@"price=%@",sa); 

} 

fuori messo {

volume = 2496752; 

    Yield = "10.49"; 

    MarCap = 829; 

    Price = "0.715"; 

    Symbol = SAIPI; 

}, 
+0

Come diversi tipi di dati nel dizionario, puoi mostrarli? –

risposta

10
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"price" 
               ascending:YES selector:@selector(localizedStandardCompare:)] ; 

Si prega di sostituire questo e provare, spero che funzioni.

+0

grazie krish suo lavoro – Vijay

4
-(void)sort 
{ 
    //This is the array of dictionaries, where each dictionary holds a record 
    NSMutableArray * array; 
    //allocate the memory to the mutable array and add the records to the arrat 

    // I have used simple bubble sort you can use any other algorithm that suites you 
    //bubble sort 
    // 
    for(int i = 0; i < [array count]; i++) 
    { 
     for(int j = i+1; j < [array count]; j++) 
     { 
      NSDictionary *recordOne = [array objectAtIndex:i]; 
      NSDictionary *recordTwo = [array objectAtIndex:j]; 

      if([[recordOne valueForKey:@"price"] floatValue] > [[recordTwo valueForKey:@"remaining"] floatValue]) 
      { 
       [array exchangeObjectAtIndex:i withObjectAtIndex:j]; 
      } 
     } 
    } 

    //Here you get the sorted array 
} 

Spero che questo aiuti.

+0

Grazie kunal – Vijay

Problemi correlati