Как насчет:
NSArray *myArray = [NSArray arrayWithObjects:
[NSDictionary dictionaryWithObjectsAndKeys:[NSDate distantFuture], @"theDate", nil],
[NSDictionary dictionaryWithObjectsAndKeys:[NSDate distantPast], @"theDate", nil],
nil];
NSLog(@"Before sorting: %@", myArray);
NSSortDescriptor *dateSortDescriptor = [NSSortDescriptor sortDescriptorWithKey: @"theDate" ascending: YES];
NSArray *sortedArray = [myArray sortedArrayUsingDescriptors:[NSArray arrayWithObject: dateSortDescriptor]];
NSLog(@"After Sorting: %@", sortedArray);
Это предполагает, что дата, для которой вы хотите отсортировать, имеет ключ (по сути, это свойство).