/ / Come trovare il massimo valore dalla matrice di oggetti NSDictionary? - ios, obiettivo-c, nsarray

Come trovare il massimo valore dalla matrice di oggetti NSDictionary? - ios, obiettivo-c, nsarray

Come trovare il più grande valore da NSArray di NSDictionary?

Ecco il mio codice,

NSDictionary *d1 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:35] forKey:@"data"];
NSDictionary *d2 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:52] forKey:@"data"];

NSArray *array = [NSArray arrayWithObjects:d1, d2, nil];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.data == %@.@max.data", array];

Tuttavia questo a volte dà risultati errati. Mi sto perdendo qualcosa?

risposte:

9 per risposta № 1

Prova in questo modo per i valori NSNumber

NSNumber *max = [array valueForKeyPath:@"@max.data"];

e

NSNumber *max = [array valueForKeyPath:@"@max.data.floatValue"];

per i valori misti NSString / NSNumbers.