Si quería simplemente obtener los valores mínimo y máximo de dobles:
NSNumber* min = [array valueForKeyPath:@"@min.self"];
NSNumber* max = [array valueForKeyPath:@"@max.self"];
Si quería simplemente ordenarlos:
// the array is mutable, so we can sort inline
[array sortUsingSelector:@selector(compare:)];
La clase NSNumber
va a clasificar bien simplemente usando compare:
, pero si necesita hacer una clasificación más complicada, puede usar el método -sortUsingComparator:
que toma un bloque t o haz la clasificación. También hay métodos en NSArray
que devolverán las nuevas matrices que están ordenadas, en lugar de modificar la matriz actual. Consulte la documentación para NSArray y NSMutableArray para obtener más información.
Lo que hace el valueForKeyPath función hacer? He estado buscando documentación sobre él, pero no puedo encontrar nada en NSArray o NSMutableArray. Quiero saber cuál es la cadena que se le pasa y cuál debe ser el formato. –
@MikeKhan No es un método definido en 'NSArray'. Se define en el protocolo 'NSKeyValueCoding' que' NSObject' implementa. Puede encontrar la documentación aquí: https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueCoding_Protocol/Reference/Reference.html#//apple_ref/occ/cat/NSKeyValueCoding –
¿apple siempre usa @ en el literal de cadena para Keys? – DevilInDisguise