iOS Reverse tableView order de sorting

¿Hay alguna manera de revertir el order tableView?

Por ejemplo, tengo un tableView que ordera por firstUpdated a LastUpdated. Causa automáticamente su composition por datos de plist. Pero, ¿qué pasa si quiero poner los últimos datos en la parte superior y los más antiguos en la parte inferior?

La otra solución funcionará bien, pero esta es un poco más corta.

NSArray *reversedArray = [[originalArray reverseObjectEnumerator] allObjects];

Debe orderar la matriz que usa para completar la vista de tabla.

Las otras dos respuestas funcionarían, pero tengo otra forma de hacerlo si necesitas orderar por cualquier propiedad del object:

Puedes crear un método -sortMyArray

y se verá así:

 -(void)sortMyArray { NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"SomeObjectSortProperty" ascending:YES]; NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor]; [MyArray sortUsingDescriptors:sortDescriptors]; [sortDescriptor release]; } 

y, por supuesto, cada vez que llama a este método, debe llamar al método de recarga de la vista de tabla.

Espero que esto ayude.

Otra alternativa (para mantener solo una copy de la matriz original) es usar la matriz original y simplemente tomar objects en order UITableViewDataSource en las funciones UITableViewDataSource .

Ejemplo:

id currentObject = [originalArray objectAtIndex:(originalArray.count - indexPath.row - 1)];

Probablemente, esta es una solución mejor porque no necesita mantener 2 copys de los mismos datos simplemente para el order invertido.

Estaba utilizando la matriz para completar los datos en la vista de tabla …

Ordena esa matriz en lugar de orderar el order de la tabla.

 self.yourCurrentArrayOfObjects = ...; NSMutableArray *reversedArray = [NSMutableArray arrayWithCapacity:yourCurrentArrayOfObjects.count]; for (id object in yourCurrentArrayOfObjects.reverseObjectEnumerator) { [reversedArray addObject:object]; } self.yourCurrentArrayOfObjects = [reversedArray copy]; [self.tableView reloadData];