按一个键然后另一个键排序数组?

时间:2010-11-12 15:43:48

标签: iphone cocoa sorting nsmutablearray

基本上我有一个字典数组,每个字典都有一个daymonthyear字段。

我希望能够按year排序数组,然后按month排序,然后按day排序。好像在排序日期。

这可能吗?这就是我目前按“日期”整体排序的方式:

NSSortDescriptor *aSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:NO];
[winesOfTheWeek sortUsingDescriptors:[NSArray arrayWithObject:aSortDescriptor]];

有没有办法做三次,所以它按年分类,然后按月分类(保持年份结构),然后按天分类(保持年月结构)。

由于

1 个答案:

答案 0 :(得分:4)

NSSortDescriptor *yearSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"year" ascending:NO];
NSSortDescriptor *monthSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"month" ascending:NO];
NSSortDescriptor *daySortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"day" ascending:NO];
[winesOfTheWeek sortUsingDescriptors:[NSArray arrayWithObjects:yearSortDescriptor, monthSortDescriptor, daySortDescriptor, nil]];
[daySortDescriptor release];
[monthSortDescriptor release];
[yearSortDescriptor release];