Puede ordenar las células de su UITableView alguna manera de desear, pero hay que hacerlo antes de mostrarlos, al crear la fuente de datos de la tabla. Si usa un NSFetchResultsController, puede poner la distancia como el descriptor de clasificación. Y si está usando una matriz NS (mutable) simple, ordénela antes de convertirla en la fuente de la tabla.
Al igual que Chris dijo, puede hacerlo con
NSSortDescriptor *titleSorter= [[NSSortDescriptor alloc] initWithKey:@"annotationLocation" ascending:YES];
Si se trata de un NSArray lo que está utilizando, entonces:
[arrayOfObjects sortUsingDescriptors:[NSArray arrayWithObject:titleSorter];
y si se trata de una NSFetchResultsController:
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:titleSorter, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
Douglas, ¿qué solución acabas de usar? ¿Estás usando CoreData? – marciokoko
la solución de ferostar funciona para mí. Estoy usando el archivo .plist. userlocation y annotationLocation son ambos CLLocation. Así que usé -initWithLatitude: longitude: y -distanceFromLocation: para obtener las distancias y ordenarlas en un NSArray. –
Quizás sería mejor chatear pero tengo la variedad de ubicaciones con latitud y longitud. Calculo la distancia desde UserLocation a cada ubicación. Así que tengo todos los datos, entonces, ¿qué pongo en la nueva matriz? Aquí: http: //stackoverflow.com/questions/14845434/how-do-i-sort-table-cells-from-core-data – marciokoko