Итак, я думаю, у вас есть множество словарей. Есть несколько способов сделать это, но я рекомендую использовать NSSortDescriptor
. Вы хотите сделать что-то вроде этого:
//myArray is the name of the your array
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"mydate" ascending:YES]; // If you want newest at the top, pass NO instead.
[myArray sortUsingDescriptor:descriptor]; // This will modify myArray. To return a new array and leave the original untouched, use -sortedArrayUsingDescriptor:.
[descriptor release];
NSLog(@"%@", myArray); // Print.
Если у вас уже есть даты как NSDate
объектов, это будет работать нормально. Если нет, то вам нужно либо просмотреть цикл и предварительно проанализировать даты, либо использовать метод initWithKey:ascending:selector:
из NSSortDescriptor
, который позволяет вам определять собственный метод сравнения.