Я бы предпочел не изменять способ создания aArray, поскольку он также используется в другом месте как источник данных для UITableView. Значения нечетных чисел являются «именами пользователей», а четными значениями являются их соответствующие «даты». («Пары» должны оставаться вместе.)Сортировка NSMutableArray, содержащая совпадающие «пары» значений
Как бы я сортировал «по имени пользователя»?
Как бы я сортировал «по дате»?
Должен ли я использовать sortUsingFunction или sortUsingSelector?
-(void) test
{
NSMutableArray *anArray = [NSMutableArray arrayWithObjects:@"Zeke", @"01-Jan-2010", @"Bob", @"02-Jan-2010", @"Fred", @"03-Jan-2010", @"Susan", @"04-Jan-2010", @"Kim", @"05-Jan-2010", @"Debbie", @"06-Jan-2010", nil];
[anArray sortUsingFunction:SortByDate context:(void *)context];
}
NSComparisonResult SortByDate(NSMutableArray *a1, NSMutableArray *a2, void *context)
{
// What goes here to keep the pair-values "together"?
}
тьфу. Это предполагает использование - [NSDictionary allKeysForObject:], который не может быть очень быстрым. –
Этот подход не будет работать, если ключ сортировки (например, дата выше) не гарантированно будет уникальным для каждого объекта. – damian