2010-01-16 19 views
37

estoy tratando de lograr algo como esto¿Cómo invierto el orden de los objetos en un NSMutableArray?

NSMutableArray *myArray = [NSMutableArray arrayWithObjects:@"A",@"B",@"C", nil]; 
NSLog(@"Array: %@", myArray); 
//logs A, B, C. 

//reverse code here 

NSLog(@"Array: %@", myArray); 
//logs C, B, A 

El código no es exacta, sólo una demostración. Pero se entiende la idea.

¿Alguna forma de hacerlo?

+0

me encontré con este post similar sobre Stackoverflow: http://stackoverflow.com/questions/586370/how-can-i-reverse-a-nsarray-in-objective-c creo que se ajuste a sus necesidades también. –

Respuesta

162

Simplemente use;

NSArray* reversed = [[myArray reverseObjectEnumerator] allObjects]; 

El orden is documented ser correcta:

Esta matriz contiene todos los objetos restantes del empadronador en orden enumerado [énfasis añadido].

+2

¿funcionará esto con la matriz mutable? –

+2

Sí; un NSMutableArray es, por declaración, una subclase de NSArray. – bbum

+2

No se garantiza que funcione. Podría romperse en cualquier momento. –

Cuestiones relacionadas