Один из нескольких вариантов будет использовать блок компаратора.Вы не предоставили достаточно информации, поэтому я сделал несколько предположений:
- Строка даты находится в 3-м индексе NSArrays
- Строка даты выглядит как 31-12-2011
Код
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
array = [array sortedArrayUsingComparator: ^(id a, id b) {
NSArray *array1 = (NSArray *)a;
NSArray *array2 = (NSArray *)b;
NSDate *date1 = [dateFormatter dateFromString:[array1 objectAtIndex:2]];
NSDate *date2 = [dateFormatter dateFromString:[array2 objectAtIndex:2]];
return [date1 compare:date2]
}
Но вы также должны подумать о том, чтобы иметь класс, представляющий данные.
В этом случае вы будете взаимодействовать с необработанным датером и создавать объект.для каждого набора данных поместите его в NSMutableArray и отсортируйте его.похоже.