Сортировка NSDates , пока они находятся в формате NSString , практически невозможна, за исключением случаев, когда они имеют формат "YYYYMMddHHmmss" , который можно сортировать как сортировку строки. См. @ Daniel R Hicks ответ.
Преобразование строки в NSDate во время анализа и добавления дат из веб-службы.
NSString *dateStr = ...
NSDateFormatter *df = ;[NSDateFormatter alloc] init];
[df setDateFormat:@"M/dd/YYYY hh:mm:ss a"];
[datesArray addObject:[df dateFromString:dateStr]];
И сортировка,
[datesArray sortUsingSelector:@selector(compare:)];
И оригинальный ответ здесь!